表格中多行单元格的水平和垂直居中问题

表格中多行单元格的水平和垂直居中问题

我在表格中无法完美地将几个单元格(水平和垂直)居中。以下是当前情况的屏幕截图:

我的桌子的截图

问题行是以“Courant”、“Champ magnétique”等开头的行。

文本相当居中,但令人沮丧的是略微向左对齐......

这是我的代码:

\begin{table}[h]
\centering
\caption{Variation de l'amplitude de la force électromotrice en fonction du courant circulant dans des bobines d'Helmholtz à une fréquence de rotation de la bobine d'induction constante ($(40\pm2)$ Hz)}
\label{tableau1}
\begin{tabular}{|>{\centering\arraybackslash}m{1.25cm}|>{\centering\arraybackslash}m{1.25cm}|>{\centering\arraybackslash}m{1.25cm}|>{\centering\arraybackslash}m{1.25cm}|>{\centering\arraybackslash}m{1.3cm}|>{\centering\arraybackslash}m{1.3cm}|>{\centering\arraybackslash}m{2cm}|>{\centering\arraybackslash}m{2cm}|}
\hline
\multicolumn{2}{|>{\centering\arraybackslash}m{2.5cm}|}{Courant} & \multicolumn{2}{>{\centering\arraybackslash}m{2.5cm}|}{Champ magnétique} & \multicolumn{2}{>{\centering\arraybackslash}m{2.6cm}|}{Force électromotrice expérimentale (amplitude)} & \multicolumn{2}{>{\centering\arraybackslash}m{4cm}|}{Force électromotrice théorique (amplitude)} \tabularnewline
\hline
$I_1$ & $\Delta I_1$ & $B$ & $\Delta B$ & $\epsilon_{Exp. 0}$ & $\Delta \epsilon_{Exp. 0}$ & $\epsilon_{Th. 0}$ & $\Delta \epsilon_{Th. 0}$ \tabularnewline
\hline
(A) & (A) & (mT) & (mT) & (V) & (V) & (V) & (V) \tabularnewline
\hline
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \tabularnewline
\hline
0,55 & 0,04 & 0,50 & 0,04 & 0,10 & 0,04 & 0,90 & 0,02 \tabularnewline
\hline
1,00 & 0,04 & 0,91 & 0,05 & 0,20 & 0,04 & 0,16 & 0,04 \tabularnewline
\hline
1,50 & 0,05 & 1,36 & 0,07 & 0,28 & 0,04 & 0,25 & 0,05 \tabularnewline
\hline
2,00 & 0,05 & 1,81 & 0,08 & 0,39 & 0,04 & 0,32 & 0,07 \tabularnewline
\hline
2,50 & 0,06 & 2,3 & 0,1 & 0,47 & 0,04 & 0,41 & 0,09 \tabularnewline
\hline
3,20 & 0,06 & 2,9 & 0,1 & 0,57 & 0,04 & 0,5 & 0,1 \tabularnewline
\hline
3,52 & 0,07 & 3,2 & 0,1 & 0,66 & 0,04 & 0,6 & 0,1 \tabularnewline
\hline
\end{tabular}
\end{table}

谢谢!

答案1

要获得右侧宽度,\multicolumn您必须将\tabcolsep第一列的右侧宽度和第二列的左侧宽度添加到两列宽度中。例如:

\multicolumn{2}{|>{\centering\arraybackslash}m{\dimexpr2.5cm+2\tabcolsep\relax}|}{Courant}

在此处输入图片描述

代码:

\documentclass[captions=tableabove]{scrartcl}

\usepackage{array}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\newcolumntype{T}[1]{M{\dimexpr#1+2\tabcolsep\relax}}

\begin{document}
\begin{table}[htb]
  \centering
  \caption{Variation de l'amplitude de la force électromotrice en fonction du courant circulant dans des bobines d'Helmholtz à une fréquence de rotation de la bobine d'induction constante ($(40\pm2)$ Hz)}
  \label{tableau1}
  \begin{tabular}{|*{4}{M{1.25cm}|}*{2}{M{1.3cm}|}*{2}{M{1.8cm}|}}
    \hline
    \multicolumn{2}{|T{2.5cm}|}{Courant} 
      & \multicolumn{2}{T{2.5cm}|}{Champ magnétique} 
      & \multicolumn{2}{T{2.6cm}|}{Force électromotrice expérimentale (amplitude)} 
      & \multicolumn{2}{T{3.6cm}|}{Force électromotrice théorique (amplitude)} \tabularnewline
    \hline
    $I_1$ & $\Delta I_1$ & $B$ & $\Delta B$ & $\epsilon_{Exp. 0}$ & $\Delta \epsilon_{Exp. 0}$ & $\epsilon_{Th. 0}$ & $\Delta \epsilon_{Th. 0}$ \tabularnewline
    \hline
    (A) & (A) & (mT) & (mT) & (V) & (V) & (V) & (V) \tabularnewline
    \hline
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \tabularnewline
    \hline
    0,55 & 0,04 & 0,50 & 0,04 & 0,10 & 0,04 & 0,90 & 0,02 \tabularnewline
    \hline
    1,00 & 0,04 & 0,91 & 0,05 & 0,20 & 0,04 & 0,16 & 0,04 \tabularnewline
    \hline
    1,50 & 0,05 & 1,36 & 0,07 & 0,28 & 0,04 & 0,25 & 0,05 \tabularnewline
    \hline
    2,00 & 0,05 & 1,81 & 0,08 & 0,39 & 0,04 & 0,32 & 0,07 \tabularnewline
    \hline
    2,50 & 0,06 & 2,3 & 0,1 & 0,47 & 0,04 & 0,41 & 0,09 \tabularnewline
    \hline
    3,20 & 0,06 & 2,9 & 0,1 & 0,57 & 0,04 & 0,5 & 0,1 \tabularnewline
    \hline
    3,52 & 0,07 & 3,2 & 0,1 & 0,66 & 0,04 & 0,6 & 0,1 \tabularnewline
    \hline
  \end{tabular}
\end{table}
\end{document}

答案2

作为一个可能的解决方案,我会使用包制造细胞。瞧:

\documentclass[a4paper, 12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[english,french]{babel}
\usepackage{makecell}

\begin{document}

%makecell setting for fonts, spacing etc.
\setlength\rotheadsize{3cm}
\renewcommand\theadfont{\small}
\renewcommand\theadfont{\bfseries}
\renewcommand\theadset{\renewcommand\arraystretch{0.9}%
\setlength\extrarowheight{1pt}}
\renewcommand\cellalign{cc}
\renewcommand\cellgape{\Gape[1pt]}


\begin{table}[h]
\centering
\caption{Variation de l'amplitude de la force électromotrice en fonction du courant circulant dans des bobines d'Helmholtz à une fréquence de rotation de la bobine d'induction constante ($(40\pm2)$ Hz)}
\vspace{1ex}
\label{tableau1}
\begin{tabular}{*{8}{|m{1.25cm}}|}
\hline
\multicolumn{2}{|c|}{\thead{Courant}} & \multicolumn{2}{c|}{\thead{Champ\\ magnétique}} & \multicolumn{2}{c|}{\thead{Force\\ électromotrice\\ expérimentale\\ (amplitude)}} & \multicolumn{2}{c|}{\thead{Force\\ électromotrice\\ théorique\\ (amplitude)}} \tabularnewline
\hline
\makecell{$I_1$} & \makecell{$\Delta I_1$} & \makecell{$B$} & \makecell{$\Delta B$} & \makecell{$\epsilon_{Exp. 0}$} & \makecell{$\Delta \epsilon_{Exp. 0}$} & \makecell{$\epsilon_{Th. 0}$} & \makecell{$\Delta \epsilon_{Th. 0}$} \tabularnewline
\hline
\makecell{(A)} & \makecell{(A)} & \makecell{(mT)} & \makecell{(mT)} & \makecell{(V)} & \makecell{(V)} & \makecell{(V)} & \makecell{(V)} \tabularnewline
\hline
\makecell{0} & \makecell{0} & \makecell{0} & \makecell{0} & \makecell{0} & \makecell{0} & \makecell{0} & \makecell{0} \tabularnewline
\hline
\makecell{0,55} & \makecell{0,04} & \makecell{0,50} & \makecell{0,04} & \makecell{0,10} & \makecell{0,04} & \makecell{0,90} & \makecell{0,02} \tabularnewline
\hline
\makecell{1,00} & \makecell{0,04} & \makecell{0,91} & \makecell{0,05} & \makecell{0,20} & \makecell{0,04} & \makecell{0,16} & \makecell{0,04} \tabularnewline
\hline
\makecell{1,50} & \makecell{0,05} & \makecell{1,36} & \makecell{0,07} & \makecell{0,28} & \makecell{0,04} & \makecell{0,25} & \makecell{0,05} \tabularnewline
\hline
\makecell{2,00} & \makecell{0,05} & \makecell{1,81} & \makecell{0,08} & \makecell{0,39} & \makecell{0,04} & \makecell{0,32} & \makecell{0,07} \tabularnewline
\hline
\makecell{2,50} & \makecell{0,06} & \makecell{2,3} & \makecell{0,1} & \makecell{0,47} & \makecell{0,04} & \makecell{0,41} & \makecell{0,09} \tabularnewline
\hline
\makecell{3,20} & \makecell{0,06} & \makecell{2,9} & \makecell{0,1} & \makecell{0,57} & \makecell{0,04} & \makecell{0,5} & \makecell{0,1} \tabularnewline
\hline
\makecell{3,52} & \makecell{0,07} & \makecell{3,2} & \makecell{0,1} & \makecell{0,66} & \makecell{0,04} & \makecell{0,6} & \makecell{0,1} \tabularnewline
\hline
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

答案3

我重新设计了表格,还使用了makecell列标题包,S类型为列,以小数点逗号对齐(从 开始siunitx),最后threeparttable使标题具有与表格相同的宽度。没有垂直线,这是不好的印刷习惯:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools} 
\usepackage{array, tabularx}
\usepackage{booktabs}
\usepackage{ragged2e}
\newcolumntype{Y}{ >{\hsize=1.75\hsize}X}
\newcolumntype{Z}{ >{\hsize=.875\hsize\RaggedLeft}X}
\usepackage{caption}
\usepackage{makebox} 
\captionsetup{font = small}
\usepackage{makecell}
\renewcommand{\theadfont}{\upshape\bfseries\footnotesize}
\setcellgapes{3pt}
\makegapedcells
\usepackage{threeparttable}
\usepackage{siunitx}

\usepackage[french]{babel}

\begin{document}

\begin{table}[h]
    \begin{threeparttable}
\centering\sisetup{table-number-alignment = center, table-figures-integer=1, table-figures-decimal=2, locale = FR}
\caption{Variation de l'amplitude de la force électromotrice en fonction du courant circulant dans des bobines d'Helmholtz à une fréquence de rotation de la bobine d'induction constante ($(40\pm2)$ Hz)}
\label{tableau1}
\begin{tabular}{SSSSSSSS}
\Xhline{0.8pt}
 \multicolumn{2}{c}{\thead{Courant}} & \multicolumn{2}{c}{\thead{Champ\\magnétique}} & \multicolumn{2}{c}{\thead{Force\\ électromotrice\\ expérimentale\\ (amplitude)}} & \multicolumn{2}{c}{\thead{Force\\ électromotrice\\ théorique\\ (amplitude)}} \\[-0.5ex]
\hline\noalign{\vskip3pt}
{$I_1 $} & {$Δ I_1$} & {$B$} & {$Δ B$} & \clap{$ϵ_\mathrm{Exp. 0}$} & \clap{$Δ ϵ_\mathrm{Exp. 0} $} & \clap{$ϵ_\mathrm{Th. 0}$} & \clap{$Δ ϵ_\mathrm{Th. 0}$} \\[-0.4ex]
\multicolumn{2}{c}{\small(A)} & \multicolumn{2}{c}{\small(mT)} & \multicolumn{2}{c}{\small(V)} & \multicolumn{2}{c}{\small(V)} \\[0.6ex]
\hline\noalign{\vskip1pt}
{0} & {0} & {0} & {0} & {0} & {0} & {0} & {0} \\[1pt]
0,55 & 0,04 & 0,50 & 0,04 & 0,10 & 0,04 & 0,90 & 0,02 \tabularnewline
1,00 & 0,04 & 0,91 & 0,05 & 0,20 & 0,04 & 0,16 & 0,04 \tabularnewline
1,50 & 0,05 & 1,36 & 0,07 & 0,28 & 0,04 & 0,25 & 0,05 \tabularnewline
 2,00 & 0,05 & 1,81 & 0,08 & 0,39 & 0,04 & 0,32 & 0,07 \tabularnewline
 2,50 & 0,06 & 2,3 & 0,1 & 0,47 & 0,04 & 0,41 & 0,09 \tabularnewline
 3,20 & 0,06 & 2,9 & 0,1 & 0,57 & 0,04 & 0,5 & 0,1 \tabularnewline
 3,52 & 0,07 & 3,2 & 0,1 & 0,66 & 0,04 & 0,6 & 0,1 \tabularnewline
\Xhline{0.8pt}
\end{tabular}
\end{threeparttable}
\end{table}

\end{document} 

在此处输入图片描述

相关内容