multicols 中的 longtable 在“\thanks”上失败

multicols 中的 longtable 在“\thanks”上失败

下午好,

这是问题,它解决了将 longtable 放入 multicols 环境中的问题(目前不支持,除非进行一些调整)。这很棒,正如下面的示例所示,它运行得非常好。

在此处输入图片描述

然而当我想为作者添加“感谢”字段时,这个技巧似乎不起作用(longtable 发现它处于双列模式)。下面的代码块将重现错误,强制输出显示在最后。

有谁知道为什么会这样吗?(仅供参考,我想坚持使用“longtable”,因为我将它与词汇表包结合使用(它确实有效!)并且我无法让“supertable”精确跨越列宽。)

感谢您的时间。

西格韦

\documentclass[article]{memoir}
%
\usepackage{longtable}
\usepackage{multicol}
\usepackage{blindtext}
%
\newsavebox\ltmcbox
\newcounter{entryno}
\setcounter{entryno}{1}
\def\tabline{Test & \the\value{entryno} & Description\addtocounter{entryno}{1}\\}
\def\tablines{\tabline\tabline\tabline\tabline\tabline}
% Remove "\thanks{---}" before typesetting
%   %%%
%   %%%
%  %%%%%
%   %%%
%    %
\title{Longtable Inside Multicols \thanks{\copyright~2017~TeX}}
\author{Author Authorson}
%
\begin{document}
%
\maketitle
%
\begin{multicols}{2}
  %
  \blindtext
  %
  % ----------------------------------------------------
  % Make "longtable" believe it is in one-column mode
  \setbox\ltmcbox\vbox\bgroup
  \makeatletter\col@number\@ne
  \begin{longtable}{|l|l|l|}
   \tablines\tablines
  \end{longtable}
  \unskip
  \unpenalty
  \unpenalty\egroup
  \unvbox\ltmcbox
  %
  \blindtext
\end{multicols}
%
\end{document}

在此处输入图片描述

答案1

哎呀,除了稍微改变了分页符之外,其实没有\thanks。这是原始代码中即将发生的事故……

添加额外的行来禁用 longtables 的结束游戏。

在此处输入图片描述

\documentclass[article]{memoir}
%
\usepackage{longtable}
\usepackage{multicol}
\usepackage{blindtext}
%
\newsavebox\ltmcbox
\newcounter{entryno}
\setcounter{entryno}{1}
\def\tabline{Test & \the\value{entryno} & Description\addtocounter{entryno}{1}\\}
\def\tablines{\tabline\tabline\tabline\tabline\tabline}
% Remove "\thanks{---}" before typesetting
%   %%%
%   %%%
%  %%%%%
%   %%%
%    %
\title{Longtable Inside Multicols \thanks{\copyright~2017~TeX}}
\author{Author Authorson}
%
\begin{document}
%
\maketitle
%

\begin{multicols}{2}
  %
  \blindtext
  %
  % ----------------------------------------------------
  % Make "longtable" believe it is in one-column mode
  \setbox\ltmcbox\vbox\bgroup
  \makeatletter\col@number\@ne
\mathchardef\LT@end@pen=0 %<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  \begin{longtable}{|l|l|l|}
   \tablines\tablines
  \end{longtable}
  \unskip
  \unpenalty
  \unpenalty\egroup
  \unvbox\ltmcbox
  %
  \blindtext

\end{multicols}
%
\end{document}

相关内容