使用多列时,一列比其他列更宽

使用多列时,一列比其他列更宽

我希望 метод Ньютона 和 метод секущих 下的所有 3 列具有相同的宽度。目前,第三列比第一列和第二列宽

在此处输入图片描述

这很有趣,因为该表是使用 excel 表生成的https://www.tablesgenerator.com/

\begin{table}[H]
    \centering
    \begin{tabular}{|c|c|c|cccccc|}
    \hline
    \multirow{3}{*}{WQEQWEQQW}        & \multirow{3}{*}{$k$} & \multirow{3}{*}{$m$} & \multicolumn{6}{c|}{число итерации}                                                                                            \\ \cline{4-9} 
                                      &                      &                      & \multicolumn{3}{c|}{метод Ньютона}                                       & \multicolumn{3}{c|}{метод секущих}                  \\ \cline{4-9} 
                                      &                      &                      & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{2} & \multicolumn{1}{c|}{3} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{2} & 3 \\ \hline
    \multirow{5}{*}{$x^3-x^2-kx+m=0$} & 2                    & 1                    & \multicolumn{1}{c|}{5} & \multicolumn{1}{c|}{3} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{2} & \multicolumn{1}{c|}{2} & 2 \\ \cline{2-9} 
                                      & 2                    & 1.2                  & \multicolumn{1}{c|}{5} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{2} & \multicolumn{1}{c|}{2} & 2 \\ \cline{2-9} 
                                      & 3                    & 1.2                  & \multicolumn{1}{c|}{5} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{2} & \multicolumn{1}{c|}{2} & 2 \\ \cline{2-9} 
                                      & 4                    & 1                    & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{5} & \multicolumn{1}{c|}{2} & \multicolumn{1}{c|}{2} & 2 \\ \cline{2-9} 
                                      & 4                    & 1.3                  & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{5} & \multicolumn{1}{c|}{2} & \multicolumn{1}{c|}{2} & 2 \\ \hline
    \end{tabular}
    \caption{}
    \label{tab:my-table}
    \end{table}

在此处输入图片描述

答案1

遗憾的是,经常发生的情况是,https://www.tablesgenerator.com/几乎无法手动维护。我建议你先摆脱所有 30 [!] 个毫无意义的\multicolumn{1}{c|}{...}“包装器”实例。

回答您的主要问题:如果 3 列标题的宽度超过了 3 个底层列的自然宽度之和,则 LaTeX 别无选择,只能加宽至少一列以使标题适合。为了解决这个问题,我建议明确计算所需的列宽,按照以下代码所示。

我还想建议您删除所有垂直线,使用更少但间距适当的水平线。以下屏幕截图中的第二个表格说明了这样做的方法之一。

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec} % requires XeLaTeX or LuaLaTeX
\setmainfont{EB Garamond}[Numbers=Lining] % or some other suitable font
\usepackage{array} % for 'w' column type
\usepackage{calc}
\usepackage{booktabs} % for \toprule, \midrule, \bottomrule, \cmidrule macros
\newlength\mylenA
\newlength\mylenB

\begin{document}

\begin{table}
\centering
\setlength\extrarowheight{2pt} % for a less-cramped "look"


\settowidth\mylenA{метод Ньютона} % choose the wider of the two sub-headers
%% calculate usable width of underlying columns:
\setlength\mylenB{(\mylenA-4\tabcolsep-2\arrayrulewidth)/3}

\begin{tabular}{| c | c | c | *{6}{w{c}{\mylenB}|} }
\hline
 & & & \multicolumn{6}{c|}{число итерации} \\ \cline{4-9} 
WQEQWEQQW & $k$ & $m$ &
\multicolumn{3}{c|}{метод Ньютона} & 
\multicolumn{3}{c|}{метод секущих} \\ \cline{4-9} 
 &   &     & 1 & 2 & 3 & 1 & 2 & 3 \\ \hline
 & 2 & 1   & 5 & 3 & 4 & 2 & 2 & 2 \\ \cline{2-9} 
 & 2 & 1.2 & 5 & 4 & 4 & 2 & 2 & 2 \\ \cline{2-9} 
 $x^3-x^2-kx+m=0$
 & 3 & 1.2 & 5 & 4 & 4 & 2 & 2 & 2 \\ \cline{2-9} 
 & 4 & 1   & 4 & 4 & 5 & 2 & 2 & 2 \\ \cline{2-9} 
 & 4 & 1.3 & 4 & 4 & 5 & 2 & 2 & 2 \\ 
\hline
\end{tabular}
\caption{A table with lots and lots of vertical bars} 
\label{tab:my-tableA}


\vspace{1cm}
\setlength\extrarowheight{0pt} % back to default

%% re-calculate usable width of underlying columns:
\setlength\mylenB{(\mylenA-4\tabcolsep)/3}

\begin{tabular}{@{} ccc *{6}{w{c}{\mylenB}} @{}}
\toprule
WQEQWEQQW & $k$ & $m$ & \multicolumn{6}{c@{}}{число итерации} \\ 
\cmidrule(l){4-9} 
 & & &
\multicolumn{3}{c}{метод Ньютона} & 
\multicolumn{3}{c@{}}{метод секущих} \\
\cmidrule(lr){4-6} \cmidrule(l){7-9} 
 &   &     & 1 & 2 & 3 & 1 & 2 & 3 \\ \midrule
 & 2 & 1   & 5 & 3 & 4 & 2 & 2 & 2 \\  
 & 2 & 1.2 & 5 & 4 & 4 & 2 & 2 & 2 \\  
 $x^3-x^2-kx+m=0$ &
   3 & 1.2 & 5 & 4 & 4 & 2 & 2 & 2 \\  
 & 4 & 1   & 4 & 4 & 5 & 2 & 2 & 2 \\  
 & 4 & 1.3 & 4 & 4 & 5 & 2 & 2 & 2 \\ 
\bottomrule
\end{tabular}
\caption{Same table, but without any vertical bars} 
\label{tab:my-tableB}

\end{table}
\end{document}

相关内容