在多列内将固定宽度的文本居中

在多列内将固定宽度的文本居中

我正在尝试使用该包制作表格multicolumn。我知道您可以使用以下方法对齐单元格:

 \multicolumn{[# of columns]}{l, c or r}{[text]} 

或者您可以使用以下方法设置所述多列的宽度:

\multicolumn{[# of columns]}{p{whatever size you wish}{[text]} 

我的问题是:是否可以同时设置列的大小并使其水平对齐?

这是我正在处理的表格:

如您所见,单元格“Detection humaine à l'intérieur du perimetre radius”(法语)的大小固定为 4 厘米(随机选择)并且不再位于中心。 在此处输入图片描述

以下是生成它的代码:

感谢您的帮助。

    \section{Synth\`ese} \label{s:synthese}
    \begin{table}[!ht]
    \begin{center}
    \begin{tabular}{ccccc}

    \hline
    \multicolumn{1}{|c|}{} & \multicolumn{4}{c|}{\textbf{Concept}} \\ \hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{\textbf{Critères d'évaluations}} & \multicolumn{1}{c|}{Perfomance} & \multicolumn{1}{c|}{Économie} & \multicolumn{1}{c|}{Légèreté} & \multicolumn{1}{c|}{Simplicité} \\ \hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Précision des images thermiques [mK]} & \multicolumn{1}{c|}{50} & \multicolumn{1}{c|}{100} & \multicolumn{1}{c|}{65} & \multicolumn{1}{c|}{65} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Résolution spatiale [mm]} & \multicolumn{1}{c|}{19} & \multicolumn{1}{c|}{3.3} & \multicolumn{1}{c|}{19} & \multicolumn{1}{c|}{19} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Stockage des données [To]} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{8} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c|}{12} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Résolution temporelle des images thermiques [fps]} & \multicolumn{1}{c|}{60} & \multicolumn{1}{c|}{64} & \multicolumn{1}{c|}{50} & \multicolumn{1}{c|}{50} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Signal de sortie de la caméra thermique [bits]} & \multicolumn{1}{c|}{16} & \multicolumn{1}{c|}{bites me} & \multicolumn{1}{c|}{14} & \multicolumn{1}{c|}{14} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Interface de communication} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Facilité du pilotage} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Inspection autonome} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{0.75} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Vitesse de vol [m/s]} & \multicolumn{1}{c|}{10} & \multicolumn{1}{c|}{20} & \multicolumn{1}{c|}{6} & \multicolumn{1}{c|}{10} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Résistence au vent [km/h]} & \multicolumn{1}{c|}{36} & \multicolumn{1}{c|}{64} & \multicolumn{1}{c|}{97} & \multicolumn{1}{c|}{39.6} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Autonomie de vol [min]} & \multicolumn{1}{c|}{75} & \multicolumn{1}{c|}{34} & \multicolumn{1}{c|}{50} & \multicolumn{1}{c|}{70} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Poids du drone [kg]} & \multicolumn{1}{c|}{3.25} & \multicolumn{1}{c|}{2.27} & \multicolumn{1}{c|}{3.31} & \multicolumn{1}{c|}{2.915} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|p{4cm}|}{Détection humaine à l'intérieur du périmètre radial [m]} & \multicolumn{1}{c|}{33.1} & \multicolumn{1}{c|}{33.1} & \multicolumn{1}{c|}{33.1} & \multicolumn{1}{c|}{33.1} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Efficacité des mesures d'urgence} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Sécurité constante des données} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Respect constant des conditions de vol} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{1} & \multicolumn{1}{c|}{0.5} \\\hline
    %------------------------------------------------
    \multicolumn{1}{|c|}{Coût total de production [\$]} & \multicolumn{1}{c|}{70 744} & \multicolumn{1}{c|}{13 920} & \multicolumn{1}{c|}{24 128} & \multicolumn{1}{c|}{67 130} \\\hline

    \end{tabular}
    \end{center}
    \end{table}

答案1

也许你正在寻找这样的东西:

在此处输入图片描述

编辑(六年后!): 对于表格的设计,你首先需要阅读一些关于 LaTeX 的基本文献,例如https://en.wikibooks.org/wiki/LaTeX/Tables(第 2.8 节)。

大部分\multicolumns表格都很杂乱。似乎您在编写表格时使用了一些表格生成器,这些生成器倾向于在不需要时生成表格。因此,结果很糟糕......

对于上图,我彻底清理了你的代码。现在它更短更清晰了:

\documentclass[twocolumn]{article}
\usepackage{array}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\begin{document}
\begin{table}[htb]\centering
    \begin{tabular}{|P{5cm}|c|c|c|c|}
    \hline
    \multicolumn{1}{|c|}{}& \multicolumn{4}{c|}{\textbf{Concept}}\\ \hline
    %------------------------------------------------
\textbf{Critères d'évaluations}& Perfomance& Économie& Légèreté& Simplicité\\ \hline
    %------------------------------------------------
Précision des images thermiques [mK]& 50& 100& 65& 65 \\\hline
    %------------------------------------------------
Résolution spatiale [mm]& 19& 3.3& 19& 19\\\hline
    %------------------------------------------------
Stockage des données [To]& 4& 8& 4& 12\\\hline
    %------------------------------------------------
Résolution temporelle des images thermiques [fps]& 60& 64& 50& 50\\\hline
    %------------------------------------------------
Signal de sortie de la caméra thermique [bits]& 16& bites me & 14& 14\\\hline
    %------------------------------------------------
Interface de communication& 1& 1& 1& 1\\\hline
    %------------------------------------------------
Facilité du pilotage& 1& 1& 1& 1\\\hline
    %------------------------------------------------
Inspection autonome& 1& 0.75& 1& 1\\\hline
    %------------------------------------------------
Vitesse de vol [m/s]& 10& 20& 6& 10\\\hline
    %------------------------------------------------
Résistence au vent [km/h]& 36& 64& 97& 39.6\\\hline
    %------------------------------------------------
Autonomie de vol [min]& 75& 34& 50& 70\\\hline
    %------------------------------------------------
Poids du drone [kg]& 3.25& 2.27& 3.31& 2.915\\\hline
    %------------------------------------------------
Détection humaine à l'intérieur du périmètre radial [m] & 33.1& 33.1& 33.1& 33.1\\\hline
    %------------------------------------------------
Efficacité des mesures d'urgence& 1& 1& 1& 1\\\hline
    %------------------------------------------------
Sécurité constante des données& 1& 1& 1& 1\\\hline
    %------------------------------------------------
Respect constant des conditions de vol& 1& 1& 1& 0.5 \\\hline
    %------------------------------------------------
Coût total de production [\$]& 70 744& 13 920& 24 128& 67 130\\\hline
    \end{tabular}
\end{table}
\end{document}

如您所见,为了使p{...}列类型的单元格中的文本居中,我定义了新的列类型P。为此,您需要加载包array

如何设计更好看的表格本次在线演示。在这个网站上 (TeX:SE) 可以找到许多设计精美的表格示例。

也许在第一步中您要删除垂直线并使用siunitx包进行数字对齐。

编辑:同时,我玩弄了你的表格,看看如何改善你的表格外观,Heiko 用很好的例子说服了我。无论如何,由于我的建议略有不同,看看你是否可以在未来的表格设计中使用/学习

\documentclass[twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\usepackage{ragged2e}
\usepackage{array,booktabs,makecell}
\renewcommand\theadfont{\bfseries\sffamily}
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash}p{#1}}

\begin{document}
\begin{table}[htb]\centering
    \renewcommand{\arraystretch}{1.2}
\begin{tabular}{P{5cm}*{4}{S[table-format=3.3]}}%c|c|c|c|
                                        \toprule
    &   \multicolumn{4}{c}{\thead{Concept}}
                                    \\  \cmidrule{2-5}
\thead{Critères d'évaluations}
    &   {\thead{Perfomance}} 
        &   {\thead{Économie}} 
            &   {\thead{Légèreté}} 
                &   {\thead{Simplicité}}
                                    \\ \midrule
Précision des images thermiques [mK]
    & 50 & 100 & 65 & 65            \\
Résolution spatiale [mm]
    & 19 & 3.3 & 19 & 19            \\
Stockage des données [To]
    & 4 & 8 & 4 & 12                \\
Résolution temporelle des images thermiques [fps]
    & 60 & 64 & 50 & 50             \\
Signal de sortie de la caméra thermique [bits]
    & 16 & {bites me} & 14 & 14     \\
Interface de communication
    & 1 & 1 & 1 & 1                 \\
Facilité du pilotage
    & 1 & 1 & 1 & 1                 \\
Inspection autonome
    & 1 & 0.75 & 1 & 1              \\
Vitesse de vol [m/s]
    & 10 & 20 & 6 & 10              \\
Résistence au vent [km/h]
    & 36 & 64 & 97 & 39.6           \\
Autonomie de vol [min]
    & 75 & 34   & 50 & 70           \\
Poids du drone [kg]
    & 3.25 & 2.27 & 3.31 & 2.915    \\
Détection humaine à l'intérieur du périmètre radial [m] 
    & 33.1 & 33.1   & 33.1  & 33.1  \\
Efficacité des mesures d'urgence
    & 1 & 1 & 1 & 1                 \\
Sécurité constante des données
    & 1 & 1 & 1 & 1                 \\
Respect constant des conditions de vol
    & 1 & 1 & 1 & 0.5               \\
Coût total de production [\$]
    & \num{70 744} & \num{13 920} & \num{24 128} & \num{67 130}
                                    \\  \bottomrule
    \end{tabular}
\end{table}
\end{document}

在此处输入图片描述

编辑2:(使用tabularray): 同时,我们开发了新的、非常强大的包tabularray。使用它来编写表格更加一致。生成的表格具有简洁的代码特点:

\documentclass{article}
%\usepackage{geometry}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx}
  \ExplSyntaxOn
\NewChildSelector{eachtwo}
  {
    \int_step_inline:nnnn {5}{2}{\l_tblr_childs_total_tl}
      { \clist_put_right:Nn \l_tblr_childs_clist {##1} }
  }
\ExplSyntaxOff

\begin{document}
    \begin{table}[htb]
    \centering
%    \small
\begin{tblr}{colsep   = 4pt,
             colspec  = {@{} X[l, m, font=\linespread{0.84}\selectfont,
                               cmd={\hangafter=1\hangindent=1em}]
                       *{4}{Q[c, si={table-format=3.3}]} 
                        @{}},
             row{1,2} = {font=\small\bfseries},
             row{3-Z} = {rowsep = 0.5pt},
             row{eachtwo} = {abovesep=1.5ex},
             }
    \toprule
\SetCell[r=2]{c}    Critères d'évaluations
    &   \SetCell[c=4]{c}   {{{Concept}}} 
        &   &   &                       \\
    \midrule
    &   {{{Perform.}}}
        &   {{{Économie}}}
            &   {{{Légèreté}}}
                &   {{{Simplicité}}}    \\
    \midrule
Précision des images thermiques [mK]
    & 50    & 100       & 65    & 65    \\
Résolution spatiale [mm]
    & 19    &   3.3     & 19    & 19    \\
Stockage des données [To]
    &  4    &   8       &  4    & 12    \\
Résolution temporelle des images thermiques [fps]
    & 60    &  64       & 50    & 50    \\
Signal de sortie de la caméra thermique [bits]
    & 16    & {{{bites me}}} 
                        & 14    & 14    \\
Interface de communication
    &  1    &   1       &  1    &  1    \\
Facilité du pilotage
    &  1    &   1       &  1    &  1    \\
Inspection autonome
    &  1    &   0.75    &  1    &  1    \\
Vitesse de vol [m/s]
    & 10    &  20       &  6    & 10    \\
Résistence au vent [km/h]
    & 36    &  64       & 97    & 39.6  \\
Autonomie de vol [min]
    & 75    &  34       & 50    & 70    \\
Poids du drone [kg]
    & 3.25  &   2.27    &  3.31 & 2.915 \\
Détection humaine à l'intérieur du périmètre radial [m]
    & 33.1  &  33.1     & 33.1  & 33.1  \\
Efficacité des mesures d'urgence
    &  1    &   1       &  1    & 1     \\
Sécurité constante des données
    &  1    & 1         &  1    & 1     \\
Respect constant des conditions de vol
    &  1    & 1         &  1    & 0.5   \\
Coût total de production [\$]
    & {{{\num{70 744}}}}      
            & {{{\num{13 920}}}} 
                        & {{{\num{24 128}}}} 
                                & {{{\num{67 130}}}}
                                        \\  
    \bottomrule
    \end{tblr}
\end{table}
\end{document}

使用新版本的软件包(2022B,已经在 CTAN 上可用),代码将变得更加简短和简单。

在此处输入图片描述

(红线表示文本区域边框)

答案2

为了获得更好的输出,我会减少行数(参见文档的包裹booktabs)。

表格非常宽(对于标准页面布局来说太宽了)。前几列中的其他单元格可能也需要多行。软件包tabularx提供了X列规范,可占用剩余空间。

下面的示例将第一行设置为左对齐,但它会缩进连续的行,以便视觉提示哪些行属于一起:

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{tabularx}
\usepackage[utf8]{inputenc}
\begin{document}
  \section{Synth\`ese} \label{s:synthese}
  \begin{table}[!ht]
  \centering
  \small % since the table is still quite broad
  \begin{tabularx}{\linewidth}{
    >{\raggedright\hangindent1em\hangafter1\relax}X
    cccc
  }
    \toprule
    & \multicolumn{4}{c}{\textbf{Concept}} \\
    \cmidrule{2-5}
    %------------------------------------------------
    \textbf{Critères d'évaluations} &
    Perfomance & Économie & Légèreté & Simplicité \\
    \midrule
    %------------------------------------------------
    Précision des images thermiques [mK] &
    50 & 100 & 65 & 65 \\
    %------------------------------------------------
    Résolution spatiale [mm] &
    19 & 3.3 & 19 & 19 \\
    %------------------------------------------------
    Stockage des données [To] &
    4 & 8 & 4 & 12 \\
    %------------------------------------------------
    Résolution temporelle des images thermiques [fps] &
    60 & 64 & 50 & 50 \\
    %------------------------------------------------
    Signal de sortie de la caméra thermique [bits] &
    16 & bites me & 14 & 14 \\
    %------------------------------------------------
    Interface de communication &
    1 & 1 & 1 & 1 \\
    %------------------------------------------------
    Facilité du pilotage &
    1 & 1 & 1 & 1 \\
    %------------------------------------------------
    Inspection autonome &
    1 & 0.75 & 1 & 1 \\
    %------------------------------------------------
    Vitesse de vol [m/s] &
    10 & 20 & 6 & 10 \\
    %------------------------------------------------
    Résistence au vent [km/h] &
    36 & 64 & 97 & 39.6 \\
    %------------------------------------------------
    Autonomie de vol [min] &
    75 & 34 & 50 & 70 \\
    %------------------------------------------------
    Poids du drone [kg] &
    3.25 & 2.27 & 3.31 & 2.915 \\
    %------------------------------------------------
    Détection humaine à l'intérieur du périmètre radial [m] &
    33.1 & 33.1 & 33.1 & 33.1 \\
    %------------------------------------------------
    Efficacité des mesures d'urgence &
    1 & 1 & 1 & 1 \\
    %------------------------------------------------
    Sécurité constante des données &
    1 & 1 & 1 & 1 \\
    %------------------------------------------------
    Respect constant des conditions de vol &
    1 & 1 & 1 & 0.5 \\
    %------------------------------------------------
    Coût total de production [\$] &
    \num{70 744} & \num{13 920} & \num{24 128} & \num{67 130} \\
    \bottomrule
  \end{tabularx}
\end{table}
\end{document}

结果

相关内容