设置小页面背景颜色不溢出

设置小页面背景颜色不溢出

我想在以下代码中为最左边的小页面设置一种颜色:

\usepackage{xcolor}
\fcolorbox{red}{gray}{
  \begin{minipage}{0.33\textwidth}
  some text
  \end{minipage}
}

\begin{minipage}{0.67\textwidth}
some other text
\end{minipage}

但最左边的小页面显示在整个页面上,最右边的小页面出现在第二页上(假设两页都有足够的文本)。我读到应该将 innerleftmargin、innerrightmargin 和段落参数设置为 0,但这也不起作用。正确的做法是什么?

答案1

您需要考虑\fboxsep(框架和内容之间的水平长度)和\fboxrule(框架使用的规则的粗细);由于长度\fboxsep应用于左侧和右侧,因此您需要减去其中两个长度以及两个\fboxrules。此外,从代码和空白行中删除虚假空格(代码中的一行更改相当于一个空格)(代码中的空白行结束前一段,因此您的第二行minipage开始一个新段落)。使用 e-TeX,\dimexpr您可以执行长度的基本算术:

\documentclass{article}
\usepackage{xcolor}

\begin{document}

\noindent\fcolorbox{red}{gray}{%
\begin{minipage}{\dimexpr0.33\textwidth-2\fboxrule-2\fboxsep\relax}
some text
\end{minipage}}%
\begin{minipage}{0.67\textwidth}
some other text
\end{minipage}

\end{document}

相关内容