嵌套小页面中的完整 \textwidth 文本

嵌套小页面中的完整 \textwidth 文本

在嵌套的minipages 中,我希望放置独立\textwidth于当前 的占据整个文档的文本\linewidth。显而易见的解决方案是使用minipage宽度为 的\textwidth(在第一个 之前minipage似乎工作正常(Overfull hbox消息除外)。

根据需要,迷你页面C占据整个\textwidth嵌套的迷你页面A

在此处输入图片描述

问题

  1. 这种方法是否存在我尚未发现的问题?
  2. 处理“Overfull hbox”的最佳方法是什么?我可以用 关闭它们hfuzz=10000,但这不会阻止报告所有此类消息吗?
  3. 有一个更好的方法吗?

笔记:

  1. 将文本移到之后minipage不是一个选择,因为这会因我正在使用的结构而引入其他复杂情况。
  2. 如果你好奇,这是解决wrapfigure列表问题的技巧。我使用minipgages 表示文本和图形。然后,使用解决方案仅排版列表中的前 n 个项目或后 n 个项目我将列表分成两部分,其中列表的第二部分是在我垂直传递图形后排版的。我意识到如果\item列表中的元素很长,这种方法效果会不太好,但在我的特定用例中,这种情况很少见。

代码:

\documentclass{article}

\usepackage{xcolor}\pagecolor{white}

\newcommand*{\LipsumText}{%
   Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
   Morbi sagittis mi quis dui condimentum ullamcorper sed nec est. 
   Sed eros orci, varius sit amet sem vel, porttitor sodales libero.%
}


\newlength\FullTextWidth
\setlength\FullTextWidth\textwidth

\fboxsep=0pt
\begin{document}
\noindent\fbox{%
\begin{minipage}{0.75\linewidth}
    \textbf{A:}
    \LipsumText%
    
    \noindent\fbox{%
    \begin{minipage}{0.75\linewidth}
        \textbf{B:}
        \LipsumText%
        
        \noindent\fbox{%
        \begin{minipage}{\FullTextWidth}\hfuzz=1000pt
            \textbf{C:}
            \LipsumText%
        \end{minipage}}%
    \end{minipage}}%
\end{minipage}}%
\end{document}

答案1

将我的评论变成答案。如果您知道您将在那里放置一个太宽的框,但对此没意见,您可以通过告诉 TeX 该框足够小来消除框满警告。这可以很容易地使用(\rlap或者如果您愿意,\makebox[\linewidth][l]{<stuff>}可以改为,在本例中产生相同的输出,但也会告诉 TeX 当前行已满)。

代码示例:

\documentclass{article}

\usepackage{xcolor}\pagecolor{white}

\newcommand*{\LipsumText}{%
   Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
   Morbi sagittis mi quis dui condimentum ullamcorper sed nec est. 
   Sed eros orci, varius sit amet sem vel, porttitor sodales libero.%
}


\newlength\FullTextWidth
\setlength\FullTextWidth\textwidth

\fboxsep=-\fboxrule
\begin{document}
\noindent\fbox{%
\begin{minipage}{0.75\linewidth}
    \textbf{A:}
    \LipsumText%
    
    \noindent\fbox{%
    \begin{minipage}{0.75\linewidth}
        \textbf{B:}
        \LipsumText%
        
        \noindent\makebox[\linewidth][l]{\fbox{%
        \begin{minipage}{\FullTextWidth}
            \textbf{C:}
            \LipsumText%
        \end{minipage}}}%
    \end{minipage}}%
\end{minipage}}%
\end{document}

(注意:我已经删除了\hfuzz设置,并将更改为\fboxsep-\fboxrule这样规则就会显示规则外角的框的精确轮廓,并且不会增加框的尺寸)。

在此处输入图片描述

相关内容