删除 \longtable 环境中 \rule 所在的特定行/列中的 \dotfill

删除 \longtable 环境中 \rule 所在的特定行/列中的 \dotfill

我怎样才能\dotfill\rule{3em}{.6pt}某些特定的行/列中替换?

使用规则删除点填充

..所以它看起来像这样:

Item A ................ xxxxx
Item B ................ xxxxx
                        ----- +
Item C ................ xxxxx
Item D ................ xxxxx
                        ----- -

梅威瑟:

\documentclass{article}
\usepackage{array,longtable,mathtools}
\begin{document}

\begin{longtable}{@{}p{5cm}<{\dotfill}@{}p{\dimexpr\linewidth-5cm}@{}}
Item A & xxxxx \\
Item B & xxxxx \\
& \rule{3em}{.6pt} $+$ \\ % remove \dotfill here
Item C & xxxxx \\
Item D & xxxxx \\
& \rule{3em}{.6pt} $-$  % remove \dotfill here
\end{longtable}

\end{document}

答案1

您可以在单元格中放置一些不可见的东西,这样就没有空间\dotfill插入点了:

\documentclass{article}
\usepackage{array,longtable,mathtools}
\begin{document}

\begin{longtable}{@{}p{5cm}<{\dotfill}@{}l@{}}
Item A & xxxxx \\
Item B & xxxxx \\
\hspace*{5cm}& \rule{3em}{.6pt} $+$ \\ % remove \dotfill here
Item C & xxxxx \\
Item D & xxxxx \\
\hspace*{5cm}& \rule{3em}{.6pt} $-$  % remove \dotfill here
\end{longtable}

\end{document}

在此处输入图片描述

答案2

使用\multicolumn{1}{c}{},这样\dotfill就不会插入 。我还添加了一个技巧,用于将规则提升到操作符号的高度。

\documentclass{article}
\usepackage{array,longtable,mathtools}

\makeatletter
\newcommand{\operation}[1]{%
  \multicolumn{1}{c}{}&
  \check@mathfonts
  \rule[\dimexpr\fontdimen22\textfont2-.3pt]{3em}{.6pt} $#1$
}
\makeatother

\begin{document}

\begin{longtable}{@{}p{5cm}<{\dotfill}@{}p{\dimexpr\linewidth-5cm}@{}}
Item A & xxxxx \\
Item B & xxxxx \\
\operation{+}  \\
Item C & xxxxx \\
Item D & xxxxx \\
\operation{-}
\end{longtable}

\end{document}

在此处输入图片描述

相关内容