长桌头宽度不良,持续

长桌头宽度不良,持续

我的问题几乎与问题 74681,但有一个值得注意的例外:我可以运行 latex 1000 次或更多次,它仍然会说“表格宽度已更改。重新运行 LaTeX”。重现此问题的最小测试用例如下:

\documentclass{letter}

\usepackage[T1]{fontenc}
\usepackage{ltxtable}
\usepackage{filecontents}

\begin{filecontents}{\jobname.ltxtable.tex}
\begin{longtable}[c]{r|r|l|l|X|r|r}
    pos. &
    date &
    \multicolumn{2}{|l|}{quantity} &
    description &
    item price &
    net price
\endhead
\endlastfoot
    1 &
    02.10. &
    1 &
    piece &
    testitem testitem &
    50,00 E per piece &
    50,00 E
\end{longtable}
\end{filecontents}

\begin{document}

\LTXtable{17cm}{\jobname.ltxtable.tex}

\end{document}

请注意,如果我将“数量”一词改为更短的单词(例如“qty”),问题就消失了。或者更改为更长的内容(例如“数量数量”),但这当然不是一般情况的解决方案(实际上,像这样的文件会自动处理,并且消息“重新运行 LaTeX”应该触发重新运行 LaTeX,这会立即触发无限循环)。

我希望这不仅仅是运气不好——但我错过了什么?

编辑:不幸的是,问题仍然存在。今天,我在一份我可以简化为的文档中发现了这个问题

\documentclass{letter}

\usepackage{ltxtable}
\usepackage{filecontents}

\usepackage{dcolumn}
\newcolumntype{d}[1]{D{,}{\mathord\mathcomma}{#1} }

\begin{filecontents}{\jobname.ltxtable.tex}
\begin{longtable}[c]{r|r@{\,}l|X}
    date            & \multicolumn{2}{l|}{quanti}   & description           \\      
                    &               &               &                       \kill   
\endhead
\endlastfoot
                    & 2             & units         & some descriptive text \\ 
\end{longtable}
\end{filecontents}

\begin{document}

\LTXtable{13cm}{\jobname.ltxtable.tex}

\end{document}

请注意标题中已删除的行,正如建议的那样 - 但列仍然不匹配(原始差异要大得多)。现在该怎么办?

答案1

呃,这是隐藏功能,抱歉。一个简单的解决方法是确保您的标题不以多列行结尾(例如,通过添加一行\kill

在此处输入图片描述

\documentclass{letter}

\usepackage[T1]{fontenc}
\usepackage{ltxtable}
\usepackage{filecontents}
\usepackage{icomma}
\usepackage[a2paper]{geometry}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{,}{\mathord\mathcomma}{#1} }

\begin{filecontents}{\jobname.ltxtable.tex}
\begin{longtable}[c]{r|r|d{1}|l|X|r|r|r}
    pos. &
    date &
    \multicolumn{2}{l|}{quantity} &
    description &
    item price &
    net price
    \\
&&&&&&\kill
\endhead
    1 &
    02.10. &
    1 &
    piece &
    testitem testitem &
    50,00 E per piece &
    50,00 E
     \\

\end{longtable}
\end{filecontents}

\begin{document}

\begin{center}\rule{17cm}{1cm}\end{center}

\LTXtable{17cm}{\jobname.ltxtable.tex}

\end{document}

相关内容