我希望每个部分名称的左右两侧都有线条。有点像这但我不想只用一点文本并添加线条来填充文本宽度,而是希望部分名称保持在原来的位置,但在边距中留有线条,并且如果可能的话还填充剩余空间。
margin text margin
<-----> <-------------------------------> <------>
I'd like it to look like this:
------- 1 - This section --------
Normal text is from here to there
and then it gets on a new line.
Or (even better) like that:
------- 2 - That section -------------------------
Normal text is from here to there
and then it gets on a new line.
我尝试使用链接问题中的代码,但显然,来自各个部分的文本是神奇的,你不能把它放在任何一个解决方案中。
答案1
请注意,在这种方法中,您始终需要使用可选的短节名称 (toc)。您可以始终定义一个\mysection
来同时处理两者。
\documentclass[oneside]{article}
\usepackage{showframe}
\usepackage{mwe}
\makeatletter
\newcommand{\linetitle}[1]% #1 = section title text
{\settowidth{\@tempdimb}{\@svsec}% section number is variable width
\llap{\rule{\marginparwidth}{1pt}\hspace{\marginparsep}\hspace{\@tempdimb}}% left margin
\parbox[t]{\dimexpr \textwidth-\@tempdimb}{#1}%
\rlap{\hspace{\marginparsep}\rule{\marginparwidth}{1pt}}}
\makeatother
\begin{document}
\section[Section Name]{\linetitle{Section Name}}
\setcounter{section}{21}
\section[Test]{\linetitle{\blindtext}}
\end{document}