如何在 LaTeX 中生成漂亮的表格

如何在 LaTeX 中生成漂亮的表格

我想为出版物创建一个表格。

这就是我所拥有的:

\begin{table}[!h]
            \small
            \renewcommand{\arraystretch}{1.7}
            \begin{center}
                \begin{tabular}{|p{0.5cm} | p{2.5cm} | p{3.2cm} | p{3.2cm} | p{1cm} | p{1cm} |}
                    \hline
                    \textbf{nº} & \textbf{CID Ligando} & \textbf{Nombre Ligando} & \textbf{Afinidad (Kcal/mol)²} & \textbf{RMSD l.b.} & \textbf{RMSD u.b.}  \\ \hline
                    1 & 234523 & LoreIpsum & 234 & 0 & 0 \\
                    2 & 2345 & LoreIpsum & 2365 & 0 & 0 \\
                    3 & 3453 & LoreIpsum & 45634 & 0 & 0 \\
                    4 & 83452 & LoreIpsum & 2456 & 0 & 0 \\
                    5 & 210 & LoreIpsum & 245 & 0 & 0 \\
                    6 & 3417 & LoreIpsum & 45634 & 0 & 0 \\
                    7 & 4345 & LoreIpsum & 3456 & 0 & 0 \\
                    8 & 4334 & LoreIpsum & 3456 & 0 & 0 \\
                    \hline
                \end{tabular}
                \newline\newline
                \caption{Valores de afinidad obtenidos para los ocho fármacos en \textit{Autodock Vina}}
                \label{tab:PECs}
            \end{center}
        \end{table}

但我想要的是类似这样的东西:

在此处输入图片描述

有什么办法可以得到这个吗?颜色和线条特别...

顺便说一句,我使用 TexStudio 和 MikTex。

\documentclass[12pt]{article}

\usepackage[lmargin=2cm, rmargin=2cm, top=1.5cm, bottom=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british,UKenglish,USenglish,english,american]{babel}

答案1

以下是一些建议(不分先后顺序):

  • 删除center环境,改用\centering指令。

  • \newline\newline在 之前放下\caption。(附言: 的存在\newline\newline导致您的tabular环境无法水平居中,尽管它嵌入在center环境中。)

  • 删除所有垂直线并抑制表格边缘的空白填充。

  • 加载书签打包并替换\hline\toprule\midrule,并\bottomrule根据需要通过 在表格中间添加一些垂直空白\addlinespace

    附言:该软件包的用户指南booktabs充满了关于表格设计的好建议。值得一读——并反复阅读!

  • 删除\renewcommand{\arraystretch}{1.7}\small指令。

  • 加载siunitx包并使用S第 2 列和第 4 列的类型。

  • 不粗俗大胆的请提供标题单元格。

  • 单元格中似乎没有必要自动换行。

  • 使用threeparttable环境来确保标题不会比内容更宽tabular。(另外:threeparttable除了确保标题的宽度不超过表格的宽度之外,环境还可以做其他事情。)

  • 在最后两列的标题单元格上强加更多的结构/层次结构。(“lb”和“ub”代表“下限”和“上限”,对吗?)

下图中的边框表示文本块的边缘。之所以插入这些边框,是因为我showframe在加载geometry包时设置了该选项。

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[hmargin=2cm, top=1.5cm, bottom=2cm, showframe]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british,UKenglish,USenglish,english,american]{babel}
% why not '\usepackage[spanish]{babel}'?

% New:
\usepackage{booktabs,siunitx,array,threeparttable}
\sisetup{group-minimum-digits=4}

\begin{document}

\noindent
\textcolor{red}{\Large\textbf{before}}
\begin{table}[!h]
            \small
            \renewcommand{\arraystretch}{1.7} 
            \begin{center}
                \begin{tabular}{|p{0.5cm} | p{2.5cm} | p{3.2cm} | p{3.2cm} | p{1cm} | p{1cm} |} 
                    \hline
                    \textbf{nº} & \textbf{CID Ligando} & \textbf{Nombre Ligando} & \textbf{Afinidad (Kcal/mol)²} & \textbf{RMSD l.b.} & \textbf{RMSD u.b.}  \\ \hline
                    1 & 234523 & LoreIpsum & 234 & 0 & 0 \\
                    2 & 2345 & LoreIpsum & 2365 & 0 & 0 \\
                    3 & 3453 & LoreIpsum & 45634 & 0 & 0 \\
                    4 & 83452 & LoreIpsum & 2456 & 0 & 0 \\
                    5 & 210 & LoreIpsum & 245 & 0 & 0 \\
                    6 & 3417 & LoreIpsum & 45634 & 0 & 0 \\
                    7 & 4345 & LoreIpsum & 3456 & 0 & 0 \\
                    8 & 4334 & LoreIpsum & 3456 & 0 & 0 \\
                    \hline
                \end{tabular}
                \newline\newline
                \caption{Valores de afinidad obtenidos para los ocho fármacos en \textit{Autodock Vina}}
                \label{tab:version1}
            \end{center}
\end{table}

%% after
\noindent
\textcolor{red}{\Large\textbf{after}}
\begin{table}[!h]
\centering
\begin{threeparttable}
\begin{tabular}{@{} l S[table-format=6.0] l S[table-format=5.0] cc @{}} 
\toprule
{nº} & {CID Ligando} & {Nombre Ligando} & {Afinidad} & \multicolumn{2}{c@{}}{RMSD} \\ 
\cmidrule(l){5-6}
& & & {(Kcal/mol)\textsuperscript{2}} & {l.b.} & {u.b.}\\
\midrule
  1 & 234523 & LoremIpsum & 234   & 0 & 0 \\
  2 & 2345   & LoremIpsum & 2365  & 0 & 0 \\ 
  3 & 3453   & LoremIpsum & 45634 & 0 & 0 \\
  4 & 83452  & LoremIpsum & 2456  & 0 & 0 \\
\addlinespace
  5 & 210    & LoremIpsum & 245   & 0 & 0 \\
  6 & 3417   & LoremIpsum & 45634 & 0 & 0 \\
  7 & 4345   & LoremIpsum & 3456  & 0 & 0 \\
  8 & 4334   & LoremIpsum & 3456  & 0 & 0 \\
\bottomrule
\end{tabular}
\caption{Valores de afinidad obtenidos para los ocho fármacos en \textit{Autodock Vina}}
\label{tab:version2}
\end{threeparttable}
\end{table} 

\end{document}

答案2

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[lmargin=2cm, rmargin=2cm, top=1.5cm, bottom=2cm]{geometry}

\usepackage{caption}
\usepackage{booktabs}
\usepackage{makecell}
\usepackage{siunitx}
\usepackage{tcolorbox}

\begin{document}
\begin{table}
\begin{tcolorbox}[arc=0pt,boxrule=0pt]
  \sisetup{group-minimum-digits = 4}
  \centering
  \caption{Valores de afinidad obtenidos para los ocho fármacos en \textit{Autodock Vina}}
  \label{tab:PECs}
  \begin{tabular}{lllS[table-format=5]ll} 
    \toprule
    \thead{nº} & \thead{CID Ligando} & \thead{Nombre Ligando} & {\thead{Afinidad\\ \unit{(Kcal\per\mole)\squared}}} & \thead{RMSD l.b.} & \thead{RMSD u.b.}  \\
    \midrule
    1 & 234523 & LoreIpsum & 234   & 0 & 0 \\
    2 & 2345   & LoreIpsum & 2365  & 0 & 0 \\
    3 & 3453   & LoreIpsum & 45634 & 0 & 0 \\
    4 & 83452  & LoreIpsum & 2456  & 0 & 0 \\
    5 & 210    & LoreIpsum & 245   & 0 & 0 \\
    6 & 3417   & LoreIpsum & 45634 & 0 & 0 \\
    7 & 4345   & LoreIpsum & 3456  & 0 & 0 \\
    8 & 4334   & LoreIpsum & 3456  & 0 & 0 \\
    \bottomrule
  \end{tabular}
\end{tcolorbox}
\end{table} 
\end{document}

答案3

在此处输入图片描述

  1. 使用该booktabs包,您会喜欢这些规则的!
  2. 用来adjustbox管理列宽
  3. 相信现有的工具,不要自己添加新行
  4. 信任自动列宽以获得列宽
  5. 除非绝对必要,否则不要更改字体大小

以下是代码:

\documentclass{article}
\usepackage{booktabs}
\usepackage{adjustbox}
\begin{document}
\begin{table}[!h]
  \begin{adjustbox}{center,max width=\linewidth}
    \begin{tabular}{rrlrrr}
      \toprule
      \bf nº & \bf \stackbox[r]{CID\\ Ligando} & \bf \stackbox[l]{Nombre\\ Ligando }& \bf \stackbox[r]{Afinidad \\(Kcal/mol)²} 
              & \bf \stackbox[l]{RMSD \\ l.b.} & \bf \stackbox[r]{RMSD \\u.b.} \\
      \midrule
      1      & 234523          & LoreIpsum          & 234                      & 0             & 0             \\
      2      & 2345            & LoreIpsum          & 2365                     & 0             & 0             \\
      3      & 3453            & LoreIpsum          & 45634                    & 0             & 0             \\
      4      & 83452           & LoreIpsum          & 2456                     & 0             & 0             \\
      5      & 210             & LoreIpsum          & 245                      & 0             & 0             \\
      6      & 3417            & LoreIpsum          & 45634                    & 0             & 0             \\
      7      & 4345            & LoreIpsum          & 3456                     & 0             & 0             \\
      8      & 4334            & LoreIpsum          & 3456                     & 0             & 0             \\
      \bottomrule
    \end{tabular}
  \end{adjustbox}
  \caption{Valores de afinidad obtenidos para los ocho fármacos en \textit{Autodock Vina}}
  \label{tab:PECs}
\end{table}
\end{document}

答案4

您的声明

"I want to create a table for a publication."

没有说明该出版物是否为在科学期刊上发表。但是如果在这种情况下,使用他们的模板提交通常是更有效的方法内容有问题(例如美国化学学会英国皇家化学学会威利爱思唯尔施普林格肌酐清除率糖尿病指数).* 例如,搜索加拿大运输安全局同样可以找到例子,有时你会发现书籍的模板(例子您也可以使用这些模板来准备出版物的补充信息。

例如,如果表格过大,或者公式最好显示在两列而不是一列中,他们的员工(或承包商) 河谷或者莱特克斯)已经有经验如何重新键入/(重新)格式化内容以融入出版商可识别的布局,或者可以在必要时联系您。

*) 因为您所展示的表格表明这是一篇化学出版物。

相关内容