Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Aufzählungszeichen vertikal verschieben?

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468

    Aufzählungszeichen vertikal verschieben?

    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

    Code:
    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?

    Code:
    \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*,labelwidth=2em]
    \item \blindtext
    \item \blindtext
    \end{enumerate}
    \end{document}

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.326
    Typisches Zerbrechen:
    Code:
    \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*},labelwidth=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.

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    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.

  4. #4
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.326
    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 zu finden, sollte aber auch in jeder ausführlichen LaTeX-Einführung erklärt sein.

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    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.
    Geändert von rstuby (12-08-2014 um 08:25 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.326
    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.

  7. #7
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    War mir eigentlich auch nicht neu, ich hatte bloß zuerst nicht daran gedacht :-)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •