框架环境内的分隔线

框架环境内的分隔线

在框架环境内添加水平线,线条仅跨越文本区域。
但我希望线条跨越整个框宽度。

我怎么做?

当前代码:

\begin{framed}
Foo.\\
\rule{1\textwidth}{1pt}\\
Bar\\
\rule{1\textwidth}{1pt}\\
Baz
\end{framed}

目前结果:

结果

期待:

期待

答案1

我找到了一个适合我的解决方案。但它并不是很通用。

为了使其在 LyX(输出水平线)中无缝工作\rule,我决定重新定义命令\rule,将线向左移动 9pt(这似乎是环境的内部填充framed)并使其变长 18pt:

\newlength{\framedline}
\setlength{\framedline}{\textwidth plus 18pt}
\let\oldrule\rule
\renewcommand{\rule}[2]{
   \hspace*{-9pt}\oldrule{\framedline}{0.4pt}\newline
}

相关内容