框架和 fbox/minipage 之间的右边距差异

框架和 fbox/minipage 之间的右边距差异

下面是一个 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}%
}

为了说明起见,这里有一个没有经过该修正的屏幕截图,比较了普通文本、带框架的文本和带框的文本:

框架示例

相关内容