Ausrichten einer Parbox innerhalb von Titlesec

Ausrichten einer Parbox innerhalb von Titlesec

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Ich versuche, ein Dokument mit Abschnittsnummern im Seitenrand zu erstellen. Ich habe eine Pseudolösung gefunden, bei der llapdie 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 \strutBefehls, aber ich konnte keine Möglichkeit finden, dies innerhalb des \titleformatBefehls 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.

Bildbeschreibung hier eingeben

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.

verwandte Informationen