PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aufzählungszeichen vertikal verschieben?



rstuby
11-08-2014, 08:41
Hallo!
Ich wollte eine nummerierte Aufzählung von längeren Texten ein bisschen "tunen". Wenn ich die Ziffern vergrößere, habe ich den Nachteil, dass sie logischerweise auf der Grundlinie mit der ersten Zeile stehen, ich hätte es aber gerne so, dass sie oben bündig damit abschließen.
Mit \raisebox habe ich es schon probiert, da kommt der Fehler


test.tex(11): Fehler: Use of \\enumerate doesn't match its definition.

\vspace* habe ich auch probiert, das bewirkt weder Fehler noch eine Änderung.
Kann man das dennoch mit vertretbarem Aufwand machen?


\documentclass{scrbook}

\usepackage[T1,T2A]{fontenc}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{blindtext}

\begin{document}
\begin{enumerate}[label=\Huge\color{gray}\bfseries\arabic*,labelwidt h=2em]
\item \blindtext
\item \blindtext
\end{enumerate}
\end{document}

klops
11-08-2014, 18:23
Typisches Zerbrechen:
\documentclass{scrbook}

\usepackage[T1,T2A]{fontenc}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{blindtext}

\begin{document}
\begin{enumerate}[label=\protect\raisebox{-.5ex}{\Huge\color{gray}\bfseries\arabic*},labelwid th=2em]
\item \blindtext
\item \blindtext
\end{enumerate}
\end{document}
Grundsätzlich sind alle Befehle mit optionalen Argumenten (\raisebox hat davon zwei) sehr zerbrechlich. Daher muss man sie oftmals schützen.

rstuby
11-08-2014, 19:20
Danke erst mal, vielleicht kapiere ich das mit den zerbrechlichen Befehlen auch noch mal.

Allerdings entspricht das Ergebnis (noch?) nicht meinen Wünschen. Bei -0.5ex steht die Zahl ja immer noch kräftig über. Wenn ich aber -\baselineskip oder -2ex nehme, so dass die Zahl richtig schön daneben steht, wird die zweite Zeile des Textes nach unten gedrängt.Das sieht erst recht hässlich aus.

klops
11-08-2014, 19:33
Genau dafür gibt es die beiden optionalen Argumente von \raisebox, die ich bereits dezent erwähnt habe. Nimm für die (angebliche) resultierende Höhe \ht\strutbox und für die (angebliche) resultierende Tiefe \dp\strutbox und schon glaubt LaTeX, dass es keinen Grund gibt, die Zeilen auseinander zu rücken. Allerdings bleibt ein Nachteil: Wenn das Item mit nur einer Zeile am Ende der Seite steht, ragt die Ziffer dann ggf. in den unteren Rand.

Näheres zu \raisebox ist übrigens im usrguide (http://www.ctan.org/pkg/usrguide) zu finden, sollte aber auch in jeder ausführlichen LaTeX-Einführung erklärt sein.

rstuby
12-08-2014, 08:19
Sobald ich optionale Argumente einsetze, kommt der Fehler

Fehler: Missing number, treated as zero.

Auch wenn ich andere Werte einsetze als \ht\strutbox oder \dp\strutbox, also z.B. 4pt als etwas, wovon ich ganz sicher bin, dass LaTeX es kennt und als Längeneinheit versteht.
Im usrguide kommt raisebox keinmal vor (aber trotzdem vielen Dank für den Hinweis, das hatte ich vergessen, zu Paketen konnte ich immer schön die Dokus abrufen und zu elementaren Sachen musste ich im Internet suchen!), aber laut Internet sollte es genau so gehen, wie du auch geschrieben hast.

Diese optionalen Argumente von raisebox, wenn sie denn funktionieren würden, könnte ich auch noch für eine andere Sache in meinen Dokument gut anwenden!

UPD: Jetzt geht es! Ich musste nur das ganze Argument label=... noch mal in geschweifte Klammern nehmen.

klops
12-08-2014, 16:50
Wenn man eckige Klammern in einem optionalen Argument verwenden will, also insbesondere, wenn man ein optionales Argument in einem optionalen Argument verwenden will, muss man das äußere optionale Argument immer zusätzlich in geschweifte Klammen setzen. Das sollte nichts neues sein, wenn es auch ein Standard-Anfänger-Problem ist und ich deshalb hätte darauf hinweisen sollen. Sorry.

rstuby
12-08-2014, 19:10
War mir eigentlich auch nicht neu, ich hatte bloß zuerst nicht daran gedacht :-)