'wrapfigure' 和 'lipsum' 包中的文本之间的奇怪交互

'wrapfigure' 和 'lipsum' 包中的文本之间的奇怪交互

回答我观察到,wraptable如果对于某些虚拟文本我使用两个连续的段落(例如\lipsum[11-12],来自lipsum包),则该问题可以正常工作。如果我只使用一个段落,那么使用的段落文本会与包裹表格重叠。

但是,使用其他类型的文本时它可以正常工作,如以下(不那么短的)MWE 中的第一个示例所示:

\documentclass{article}
\usepackage[singlelinecheck=false,
            font=small,
            labelfont=bf,
            skip=1ex]{caption}
\usepackage[table]{xcolor}
\newcommand\mcw[1]{\multicolumn{1}{c}{\textcolor{white}{\textbf{#1}}}}
\usepackage{array}
\usepackage{siunitx}

\usepackage{wrapfig}
\usepackage{lipsum}

\begin{document}

    \begin{wraptable}[8]{R}{0.45\textwidth}
    %\vspace*{-\baselineskip}
\caption{Performance Overview}
\label{tab:Performance Overview -  in percent}
\begin{tabular}{>{\itshape}c *{2}{S<{\,\%}} }
    \hline
    \rowcolor{black}
\mcw{n}
    &   \mcw{Test (A)}
        &   \mcw{Test (B)}              \\
    \hline
1   &   99,38   &   98,55   \cr
2   &   99,03   &   98,73   \cr
3   &   93,80   &   98,86   \cr
    \hline
\textbf{Total}
    &   98,16   &   98,76   \cr
    \hline
\end{tabular}
    \end{wraptable}
Some text followed by display equation:
\begin{equation}
a^2 + b^2 = c^2
\end{equation}

Why in this case works as expected but when for text are use \verb+\lipsum[1]+ or \verb+\lipsum*[1]+ their text overlap wrapped table?

    \begin{wraptable}[7]{R}{0.45\textwidth}
    \vspace*{-\baselineskip}
\caption{Performance Overview}
\label{tab:Performance Overview -  in percent}
\begin{tabular}{>{\itshape}c *{2}{S<{\,\%}} }
    \hline
    \rowcolor{black}
\mcw{n}
    &   \mcw{Test (A)}
        &   \mcw{Test (B)}              \\
    \hline
1   &   99,38   &   98,55   \cr
2   &   99,03   &   98,73   \cr
3   &   93,80   &   98,86   \cr
    \hline
\textbf{Total}
    &   98,16   &   98,76   \cr
    \hline
\end{tabular}
    \end{wraptable}
\lipsum[1]
\end{document}

在此处输入图片描述

包中的虚拟文本有什么特殊之处,当仅使用包中的一段时lipsum会演示wrapfig或失败吗?wraptablelipsum

答案1

根据手册您需要\LipsumPar在这里使用,而不是\lipsum

\LipsumPar{8}和之间的区别\lipsum[8]在于,前者直接访问存储相应段落的内部宏,而后者运行选择 Lorem ipsum... 段落的循环。

当然,这也适用于\LipsumPar{1}vs \lipsum[1].。

\documentclass{article}
\usepackage[singlelinecheck=false,
            font=small,
            labelfont=bf,
            skip=1ex]{caption}
\usepackage[table]{xcolor}
\newcommand\mcw[1]{\multicolumn{1}{c}{\textcolor{white}{\textbf{#1}}}}
\usepackage{array}
\usepackage{siunitx}

\usepackage{wrapfig}
\usepackage{lipsum}

\begin{document}

    \begin{wraptable}[8]{R}{0.45\textwidth}
    %\vspace*{-\baselineskip}
\caption{Performance Overview}
\label{tab:Performance Overview -  in percent}
\begin{tabular}{>{\itshape}c *{2}{S<{\,\%}} }
    \hline
    \rowcolor{black}
\mcw{n}
    &   \mcw{Test (A)}
        &   \mcw{Test (B)}              \\
    \hline
1   &   99,38   &   98,55   \cr
2   &   99,03   &   98,73   \cr
3   &   93,80   &   98,86   \cr
    \hline
\textbf{Total}
    &   98,16   &   98,76   \cr
    \hline
\end{tabular}
    \end{wraptable}
Some text followed by display equation:
\begin{equation}
a^2 + b^2 = c^2
\end{equation}

Why in this case works as expected but when for text are use \verb+\lipsum[1]+ or \verb+\lipsum*[1]+ their text overlap wrapped table?

    \begin{wraptable}[7]{R}{0.45\textwidth}
    \vspace*{-\baselineskip}
\caption{Performance Overview}
\label{tab:Performance Overview -  in percent}
\begin{tabular}{>{\itshape}c *{2}{S<{\,\%}} }
    \hline
    \rowcolor{black}
\mcw{n}
    &   \mcw{Test (A)}
        &   \mcw{Test (B)}              \\
    \hline
1   &   99,38   &   98,55   \cr
2   &   99,03   &   98,73   \cr
3   &   93,80   &   98,86   \cr
    \hline
\textbf{Total}
    &   98,16   &   98,76   \cr
    \hline
\end{tabular}
    \end{wraptable}
\LipsumPar{1}
\end{document}

在此处输入图片描述

相关内容