![框架和 fbox/minipage 之间的右边距差异](https://linux22.com/image/235232/%E6%A1%86%E6%9E%B6%E5%92%8C%20fbox%2Fminipage%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8F%B3%E8%BE%B9%E8%B7%9D%E5%B7%AE%E5%BC%82.png)
下面是一个 MWE,显示framed
包中有些奇怪的东西。
\documentclass{article}
\usepackage{lipsum}
\usepackage{framed}
\setlength{\FrameSep}{3pt}
\setlength{\fboxsep}{3pt}
\begin{document}
\begin{framed}
\noindent\lipsum[2]
\end{framed}
\noindent\fbox{%
\begin{minipage}{1.0\linewidth}
\lipsum[2]
\end{minipage}
}
\end{document}
为什么framed
环境与 minipage 不一致,无法确定右边距应该位于何处?有没有简单的方法可以让两者对齐?
(该framed
软件包声称是“预生产版本”,其文档的日期为 2007 年。也许我们可以有新的维护者?)
答案1
framed
做得很好。您使用 的方式\fbox
,覆盖整个线宽,超出了文本宽度。minipage
具有正确的宽度,但\fbox
增加了宽度。这应该会引起警告。
正如下面的评论中所写,计算的宽度minipage
可以解决这个问题:
\noindent\fbox{%
\begin{minipage}{\dimexpr\linewidth-2\fboxrule-2\fboxsep}%
\textbackslash fbox: \lipsum[1]
\end{minipage}%
}
为了说明起见,这里有一个没有经过该修正的屏幕截图,比较了普通文本、带框架的文本和带框的文本: