使用 \multicolumn 时将单元格边框置于中心

使用 \multicolumn 时将单元格边框置于中心

梅威瑟:

\documentclass{article}

\begin{document}

    \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
        \hline
        &\multicolumn{2}{|c|}{1} & \multicolumn{2}{|c|}{2} & \multicolumn{2}{|c|}{3} & \multicolumn{2}{|c|}{4} & \multicolumn{2}{|c|}{5} & \multicolumn{2}{|c|}{6} & \multicolumn{2}{|c|}{7} & \multicolumn{2}{|c|}{8}\\
        \hline
        \(f(x)\)&a&\multicolumn{2}{|c|}{b}&\multicolumn{2}{|c|}{c}&\multicolumn{2}{|c|}{d}&\multicolumn{2}{|c|}{e}&\multicolumn{2}{|c|}{f}&\multicolumn{2}{|c|}{g}&\multicolumn{2}{|c|}{h}&i\\
        \hline
        a&b&c&d&e&f&g&h&j&i&k&l&m&n&o&p&q\\
        \hline
    \end{tabular}

\end{document}

请注意,单元格边框完全居中:

上面的 MWE 截图

不幸的是,插入(更长的)公式会破坏布局:

% excerpt
&\multicolumn{2}{|c|}{\(-\frac{5}{4}\pi - \frac{1}{2}\)} & \multicolumn{2}{|c|}{\(-\frac{5}{4}\pi - \frac{1}{2}\)} &

上图为 MWE 的屏幕截图,其中添加了较长的公式

问题:

1.)有没有更好的方法来实现我的表格布局?

2.) 如果没有,我该如何解决布局问题?

(3)删除最后一行(a – q)也会导致布局不正确。如果可以通过任何(简单的)方式纠正此行为(可能是选择另一种方式的副作用),我很高兴听到它。否则,我可能会问另一个问题。)


我在 Word 中画了一个草图,也许它有助于理解我的问题: 草图

它并不完美,但你应该明白它的意思。

答案1

您可以使用该tabularx包及其同名环境以及X该包提供的列类型的居中版本tabularx,以保证基本 17 列的宽度均相等,而不管实际内容如何。

在下面的代码中,请注意我已经用替换了大多数{|c|}对齐指令,以{c|}避免出现双击垂直线。

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\setlength\tabcolsep{.5pt} % default value: 6pt
\begin{document}

\begin{tabularx}{\textwidth}{|*{17}{C|}} % 17 columns, all equally wide by design
\hline
& \multicolumn{2}{c|}{$-\frac{5}{4}\pi - \frac{1}{2}$} 
& \multicolumn{2}{c|}{$-\frac{5}{4}\pi - \frac{1}{2}$} 
& \multicolumn{2}{c|}{3} & \multicolumn{2}{c|}{4} 
& \multicolumn{2}{c|}{5} & \multicolumn{2}{c|}{6} 
& \multicolumn{2}{c|}{7} & \multicolumn{2}{c|}{8}\\
\hline
$f(x)$
&a
&\multicolumn{2}{c|}{b} &\multicolumn{2}{c|}{c}
&\multicolumn{2}{c|}{d} &\multicolumn{2}{c|}{e}
&\multicolumn{2}{c|}{f} &\multicolumn{2}{c|}{g}
&\multicolumn{2}{c|}{h} &i \\
\hline
a&b&c&d&e&f&g&h&j&i&k&l&m&n&o&p&q\\
\hline
\end{tabularx}
\end{document}

相关内容