Ausrichtung der Grundline (Baseline) in tcolorbox-Boxen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Ausrichtung der Grundline (Baseline) in tcolorbox-Boxen

von zerocon » Mi 20. Mär 2019, 14:30

Anonymous hat 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. :)

von Gast » Mi 20. Mär 2019, 09:16

Kann ich bei Anwendung meines Vorschlags nicht nachvollziehen:
\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}

von zerocon » Mi 20. Mär 2019, 00:38

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
\settoheight{\tagheight}{Ay(}
statt
\settoheight{\tagheight}{Ay}
schreibe:

\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}

von zerocon » Di 19. Mär 2019, 20:57

Super, vielen Dank! Wie kann ich es jetzt noch schaffen, dass die Grundlinie innerhalb und außerhalb eines Tags auf derselben Höhe ist?

von Gast » Di 19. Mär 2019, 08:06

\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.

von markusv » Di 19. Mär 2019, 07:56

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:
\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}

Ausrichtung der Grundline (Baseline) in tcolorbox-Boxen

von zerocon » Mo 18. Mär 2019, 22:46

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:
\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.

Nach oben