Ich versuche, ein Dokument mit Abschnittsnummern im Seitenrand zu erstellen. Ich habe eine Pseudolösung gefunden, bei der llap
die Abschnittsnummerierung das Ergebnis nachahmt. Ich bin mit der Ausrichtung der Nummer und des Abschnitts nicht zufrieden. Tatsächlich glaube ich, dass sie überhaupt nicht ausgerichtet sind (siehe Bilder oben).
Normalerweise löse ich dieses Problem am besten durch die Ausgabe des \strut
Befehls, aber ich konnte keine Möglichkeit finden, dies innerhalb des \titleformat
Befehls zu tun.
Wie kann ich sie trotzdem ausrichten?
MWE:
\documentclass[]{article}
\usepackage{titlesec}
\usepackage{xcolor}
\usepackage{showframe}
\newlength\titleindent
\setlength\titleindent{.25in}
\titleformat{\section}%
{\normalfont}%
{}%
{0pt}%
{\llap{\parbox{\titleindent}{\large\thesection\strut\hfill}}\large}%
[]%
\begin{document}
\section{MMMMmmm}
\end{document}
Antwort1
Warum ein \parbox
?
\documentclass[]{article}
\usepackage{titlesec}
\usepackage{showframe}
\newlength\titleindent
\setlength\titleindent{.25in}
\titleformat{\section}
{\normalfont\large}
{\makebox[0pt][r]{\thesection\hspace{\titleindent}}}
{0pt}
{}
\begin{document}
\section{MMMMmmm}
\end{document}
Beachten Sie, dass die Zahl in das dritte Argument von eingehen sollte \titleformat
, damit sich Abschnitte ohne Zahl korrekt verhalten. Die globale Schriftgröße sollte in das zweite Argument eingehen.
Was ist das Problem mit \parbox
? Dass die vertikale Standardausrichtung ist c
; Sie hätten verwenden sollen \parbox[t]
, aber das ist eine Verschwendung von Ressourcen: Die Abschnittsnummer ergibt keinen Absatz.