以下是 MWE:
\documentclass[a4paper,11pt]{article}
\usepackage{soul}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{fontspec}
\setmainfont{Arial}
\usepackage{hyperref}
\begin{document}
\begin{longtable}{@{}rrrrrrr@{}} \toprule
\multicolumn{7}{c}{Vertical} \\
$i$
& \multicolumn{2}{c}{$\langle x^1_{i}, y^1_{i} \rangle$}
& \multicolumn{2}{c}{$\langle x^2_{i}, y^2_{i} \rangle$}
& $\measuredangle_{i}$ & $m_{i}$ \endhead \midrule
$1$
& $\langle 17.90,$ & $27.19 \rangle$
& $\langle -192.10,$ & $69.53 \rangle$
& $-90.0°$
& $29$ \\
$2$
& $\langle 47.65,$ & $31.32 \rangle$
& $\langle -162.35,$ & $73.66 \rangle$
& $-90.0°$
& $21$ \\
$3$
& $\langle 85.94,$ & $32.43 \rangle$
& $\langle -124.06,$ & $74.77 \rangle$
& $-90.0°$
& $27$ \\
$4$
& $\langle 117.53,$ & $34.29 \rangle$
& $\langle -92.47,$ & $76.63 \rangle$
& $-90.0°$
& $23$ \\
$5$
& $\langle 154.71,$ & $29.83 \rangle$
& $\langle -55.29,$ & $72.17 \rangle$
& $-90.0°$
& $21$ \\
\addlinespace
\multicolumn{3}{l}{Average}
& \multicolumn{4}{r}{$\tilde{m} = \frac{1}{n}\sum_{i=1}^{n}m_{i}$} = $24.0$ \\ \bottomrule
\end{longtable}
\end{document}
结果:
明显的问题是标题列未对齐。$i$
应该位于数字(第一列)上方,并且$m_i$
应该位于最后一列上方。
答案1
第一次运行时,表头和表尾longtable
无法正确排版,行也无法正确排版:为了节省内存和避免溢出,longtable
将表分成块并在.aux
文件中注释列宽,以便在下次运行 LaTeX 时可以对其进行修复。
根据表格,可能需要运行两次或三次。如果需要重新运行,LaTeX 将在文件中打印.log
几个警告。第一次
Package longtable Warning: Column widths have changed
(longtable) in table 1 on input line 55.
当表格排版时,第二个
Package longtable Warning: Table widths have changed. Rerun LaTeX.
在运行结束时。这样用户就可以获知问题所在。
.aux
这也表明了该文件的重要性一定不能运行后删除,因为它包含下次运行的基本信息(例如交叉引用)。只有在少数情况下,由于输入中的某些错误,文件.aux
才会损坏。这通常会在 LaTeX 运行的早期阶段显示为奇怪的错误。当编译器引发非常奇怪的错误时,其中一种策略确实是删除文件.aux
;但这更多的是例外,而不是规则。