Alinhando uma parbox dentro do titlesec

Alinhando uma parbox dentro do titlesec

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Estou tentando produzir um documento com números de seção na margem da página. Encontrei uma pseudo-solução que llapé a numeração das seções para imitar o resultado. Não estou satisfeito com a forma como o número e a seção se alinham. Na verdade, acho que eles não se alinham (veja as fotos acima).

Normalmente, meu método preferido para resolver isso é emitindo o \strutcomando, mas não consegui descobrir uma maneira de fazer isso dentro do \titleformatcomando.

Como posso alinhá-los de qualquer maneira?

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}

Responder1

Por que um \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}

Observe que o número deve ir no terceiro argumento para \titleformat, para que inúmeras seções se comportem corretamente. O tamanho da fonte global deve estar no segundo argumento.

insira a descrição da imagem aqui

Qual é o problema \parbox? Que seu alinhamento vertical padrão é c; você deveria ter usado \parbox[t], mas é um desperdício de recursos: o número da seção não forma um parágrafo.

informação relacionada