表格中的文本换行

表格中的文本换行

我查看过以前有关类似问题的查询,但解决方案似乎对我来说不起作用(我对 LaTex 很陌生,所以这可能只是我的问题!)

我正在制作一个表格,希望它适合文档的页面宽度。我尝试过 tabularx 和 tabulary(使用 \textwidth 或 \linewidth),但这似乎只能使表格的行具有正确的宽度,而文本仍然会溢出。任何解决方案都很好!

这是尝试修复宽度问题的当前代码(未经过格式化):

\documentclass{article}

\begin{document}
This is a line of text to show the line width to ensure the table is the correct width on the page
\begin{center}
\begin{tabular}{c|c|c|c|c}
\hline
\multicolumn{4}{c}{Error in Gilson Autopipettes} \\
\hline
Autopipette & Max. Volume ($\mu$ L) & Sytematic Error ($\mu$ L) & Random Error ($\mu$ L) & Max. Error ($\mu$ L) \\
\hline
P10 & 10 & $\pm$ 0.100 & $\leq$ 0.040 &  \\
P200 & 200 & $\pm$ 1.60 & $\leq$ 0.30 &  \\
P1000 & 1000 & $\pm$ 8 & $\leq$ 1.5 &  \\
\hline
\end{tabular}
\end{center}
\end{document}

答案1

像这样?

在此处输入图片描述

  • 因为tabularx您可以规定表格宽度,但是,您需要X在表格中使用至少一种列类型(或从中衍生的列类型)。否则,表格将具有单元格内容的宽度
  • 对于在列中写入数字,我建议使用包S中的列siunitx。使用它,如果数字是整数,则数字将在小数点或右侧对齐
  • 对于单位也可以使用siunitx包(参见姆韦以下)
  • 用于写作
  • 为了使表格看起来更专业,请勿使用垂直线,对于水平线,请使用booktabs包中定义的规则
  • 添加的包lipsum用于虚拟文本,在实际文档中您应该将其删除,同样有效showframe,其目的是显示页面布局(上图上的红线)。

\documentclass{article}
\usepackage{booktabs, tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mcx[1]{\multicolumn{1}{C}{#1}}
\usepackage{siunitx}

\usepackage{lipsum}
%-------------------------------- show page layout, only for test
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%


\begin{document}
\lipsum[11]
\begin{center}
\begin{tabularx}{\linewidth}{X S >{\pm}S >{\pm}S S}
    \toprule
    &   \multicolumn{4}{c}{Error in Gilson Autopipettes}    \\
    \cmidrule(lr){2-5}
\mcx{Autopipette}
    &   \mcx{Max. Volume (\si{\micro\liter})}
        &   \mcx{Sytematic Error (\si{\micro\liter})}
            &   \mcx{Random Error (\si{\micro\liter})}
                &   \mcx{Max. Error (\si{\micro\liter})}    \\
    \midrule
P10     &   10      &   0.100   &   0.040  &                \\
P200    &   200     &   1.60    &   0.30   &                \\
P1000   &   1000    &   8       &   1.5    &                \\
    \bottomrule
\end{tabularx}
\end{center}
\end{document}

编辑:

\multicolumn对于较短的代码,您可以定义新的命令,类似于上面的定义姆韦,对于单位\micro\liter(如建议伯纳德在下面的评论中:

在序言中,之后\usepackage{siunitx}\newcomand{\ul}{\micro\liter}

并在表中使用:

\mcx{Autopipette}
    &   \mcx{Max. Volume (\si{\uL})}
        &   \mcx{Sytematic Error (\si{\uL})}
            &   \mcx{Random Error (\si{\uL})}
                &   \mcx{Max. Error (\si{\uL})}    \\

相关内容