我有一些\section
带有水平线的自定义格式,我试图通过使用titlesec
来定义默认格式选项来使我的代码 DRY。但我无法准确重现不使用时发生的情况titlesec
。以下是一个例子:
\documentclass{article}
\usepackage[explicit]{titlesec}
\usepackage{xhfill}
\begin{document}
% Plain xrfill:
\section*{\large\normalfont First Section \xrfill[0.6ex]{0.4pt}}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
% Via titlesec:
\titleformat{\section}[runin]{\large}{\thetitle}{1em}{#1 \xrfill[0.6ex]{0.4pt}}
\section*{Second Section (\texttt{titlesec})}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
% Titlesec with a \\ at the end:
\titleformat{\section}[runin]{\large}{\thetitle}{1em}{#1 \xrfill[0.6ex]{0.4pt}\\}
\section*{Third Section (line break)}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
\end{document}
请注意,使用titlesec
不会将以下文本放入新段落中。我尝试用 来解决这个问题,\\
但也没有用。我该怎么做才能让它像没有 一样工作titlesec
?
答案1
使用[display]
样式而不是样式[runin]
:
\titleformat{\section}[display]{\large}{\thetitle}{1em}{#1\space\xrfill[0.6ex]{0.4pt}}
\section*{Second Section (\texttt{titlesec})}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.