我正在尝试制作一个在页边空白处带有章节编号的文档。我找到了一个伪解决方案,即使用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]
,但这是浪费资源:节号不能组成段落。