goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 98066
Top-Poster: Johannes_B (5059)

Wir begrüßen unseren neuesten Benutzer LouisXIV.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Ausrichtung der Grundline (Baseline) in tcolorbox-Boxen

 

zerocon
Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 13.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2019, 23:46     Titel: Ausrichtung der Grundline (Baseline) in tcolorbox-Boxen
  Antworten mit Zitat      
Hi@all!

Ich würde gerne eine Auflistung von Tags machen, diese möchte ich durch farbige Boxen (mit abgerundeten Ecken) hervorherben. Das Paket tcolorbox scheint sehr mächtig zu sein, damit habe ich das hier gemacht:
Code • Öffne in Overleaf
\documentclass[11pt, a4paper, sans]{scrartcl}

\newlength{\tagheight}
\settoheight{\tagheight}{Agyl!}

\usepackage{tcolorbox}
\newtcbox{\tag}{%
   nobeforeafter,
   minipage,
   hbox,
   height=\tagheight+12pt,
   boxsep=-5pt,
   halign=center,
   valign=center
}

\begin{document}
   \tag{Yo} \tag{yo} \tag{aaaaaa} \tag{aaaMDF}
\end{document}

Ein Problem bekomme ich allerdings momentan nicht gelöst und finde dazu auch nichts so wirklich Passendes:
Ich hätte gerne, dass die Grundlinie (Baseline) der Tags auf einer Höhe ist. Im Moment kann ich das über den Parameter valign nur lokal für einen Tag beeinflussen, daher steht beim dritten Tag das a dann höher als beim vierten.

Hat jemand von euch einen Vorschlag, wie ich das in den Griff kriege?

THX, zerocon.
Private Nachricht senden Benutzer-Profile anzeigen

markusv
Forum-Meister
Forum-Meister

Beiträge: 717
Anmeldedatum: 03.09.15
Wohnort: Leipzig
Version: Kubuntu 18.04 LTS + TeXLive 2018
     Beitrag Verfasst am: 19.03.2019, 08:56     Titel:
  Antworten mit Zitat      
Hallo.

Mit der Kombination der Option on line und der Phantom-Anweisung \vphantom{Aj}, um ein Platzhalter für alle Boxen mit Großbuchstaben und Buchstabe mit Unterzug zu erhalten, klappt es soweit ganz gut:

\tag als Name der Box zu verwenden ist mindestens mutig, da dieser Befehl u.a. bereits vom amsmath-Package bereitgestellt wird und beim Laden des Paketes dementsprechend Fehler auftreten. Ich habe es daher in \mytag umgenannt:

Code • Öffne in Overleaf
\documentclass[fontsize=11pt]{scrartcl}
\usepackage{amsmath}
\usepackage{adjustbox}
\newlength{\tagheight}
\settoheight{\tagheight}{Agyl!}

\usepackage{tcolorbox}
\newtcbox{\mytag}{%
   on line,%Combines tcbox raise base with nobeforeafter
   before upper=\vphantom{Ay},
   minipage,
   hbox,
   height=\tagheight+12pt,
   boxsep=-5pt,
   halign=center,
   valign=center
}

\begin{document}
   \mytag{Yo} \mytag{yo} \mytag{aaaaaa} \mytag{aaaMDF}
\end{document}

_________________

Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2019, 09:06     Titel:
  Antworten mit Zitat      
Code • Öffne in Overleaf
\documentclass[11pt, a4paper, sans]{scrartcl}

\newlength{\tagheight}
\setlength{\tagheight}{\ht\strutbox}

\usepackage{tcolorbox}
\newtcbox{\tag}{%
   nobeforeafter,
   minipage,
   hbox,
   height=\tagheight+\baselineskip,
   boxsep=-5pt,
   halign=center,
   valign=center,
%   box align=base,
%   sidebyside align=bottom,
   before upper=\strut,
   after lower=\strut% für mehrzeilige Boxen (was hier nicht der Fall ist)
}

\begin{document}
   \tag{Yo} \tag{yo} \tag{aaaaaa} \tag{aaaMDF}
\end{document}
 

Zwei weitere Optionen, die hilfreich sein können, habe ich mal auskommentiert.

zerocon
Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 13.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2019, 21:57     Titel:
  Antworten mit Zitat      
Super, vielen Dank! Wie kann ich es jetzt noch schaffen, dass die Grundlinie innerhalb und außerhalb eines Tags auf derselben Höhe ist?
Private Nachricht senden Benutzer-Profile anzeigen

zerocon
Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 13.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.03.2019, 01:38     Titel:
  Antworten mit Zitat      
Beziehungsweise eigentlich benötige ich das gerade gar nicht mehr, dass die Grundlinie innerhalb und außerhalb eines Tags diesselbe ist ...

Allerdings bin ich auf folgendes Problem gestoßen:
Wenn ich in einem Tag eine Klammer habe, ist die Box ganz leicht nach unten versetzt. Das ändert sich auch nicht, wenn ich
Code • Öffne in Overleaf
\settoheight{\tagheight}{Ay(}
statt
Code • Öffne in Overleaf
\settoheight{\tagheight}{Ay}
schreibe:


Code • Öffne in Overleaf

\documentclass[fontsize=11pt]{scrartcl}

\newlength{\tagheight}
\settoheight{\tagheight}{Ay}
\usepackage{tcolorbox}
\newtcbox{\mytag}{%
   on line,
   before upper=\vphantom{Ay},
   minipage,
   hbox,
   height=\tagheight+12pt,
   boxsep=-5pt,
   halign=center,
   valign=center
}
\begin{document}
   \mytag{y} \mytag{y(a)} \mytag{a}
\end{document}
 
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.03.2019, 10:16     Titel:
  Antworten mit Zitat      
Kann ich bei Anwendung meines Vorschlags nicht nachvollziehen:
Code • Öffne in Overleaf
\documentclass[11pt, a4paper, sans]{scrartcl}

\newlength{\tagheight}
\setlength{\tagheight}{\ht\strutbox}

\usepackage{tcolorbox}
\newtcbox{\mytag}{%
   nobeforeafter,
   minipage,
   hbox,
   height=\tagheight+\baselineskip,
   boxsep=-5pt,
   halign=center,
   valign=center,
%   box align=base,
%   sidebyside align=bottom,
   before upper=\strut,
   after lower=\strut% für mehrzeilige Boxen (was hier nicht der Fall ist)
}

\begin{document}
    \mytag{y} \mytag{y(a)} \mytag{a}
\end{document}

zerocon
Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 13.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.03.2019, 15:30     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
Kann ich bei Anwendung meines Vorschlags nicht nachvollziehen

Hast Recht, mit der Methode funktioniert's! Danke!
Hatte mich nur für den ersten Vorschlag entschieden, weil ich \strut und \strutbox nicht kannte und beim nachlesen auch nicht so richtig verstanden hab bzw. kompliziert fand. Smile
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de