Выравнивание parbox внутри titlesec

Выравнивание parbox внутри titlesec

введите описание изображения здесь

введите описание изображения здесь

Я пытаюсь создать документ с номерами разделов на полях страницы. Я нашел псевдорешение, которое заключается llapв том, что нумерация разделов имитирует результат. Мне не нравится, как выравниваются номер и раздел. На самом деле, мне кажется, что они вообще не выравниваются (см. рисунки выше).

Обычно я решаю эту проблему с помощью команды \strut, но я не смог придумать, как сделать это с помощью \titleformatкоманды.

Как мне их выровнять?

МВЭ:

\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}

решение1

Почему \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}

Обратите внимание, что число должно быть указано в третьем аргументе \titleformat, поэтому безымянные разделы будут вести себя правильно. Глобальный размер шрифта должен быть указан во втором аргументе.

введите описание изображения здесь

В чем проблема с \parbox? Что его вертикальное выравнивание по умолчанию — c; вам следовало бы использовать \parbox[t], но это пустая трата ресурсов: номер раздела не создает абзац.

Связанный контент