下午好,
这是这问题,它解决了将 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}