LaTeX 中的精美表格

LaTeX 中的精美表格

我不擅长使用 LaTeX 表格。我设法制作了一个表格,但它看起来太简单了。我该如何让它变得更漂亮?

这是表格的代码:

\begin{table}
    \begin{tabular}{|l|l|l|l|l|}
         \hline
             Models    & A  & B  & C  & D  \\ \hline
             Model $X$ & X1 & X2 & X3 & X4 \\ \hline
             Model $Y$ & Y1 & Y2 & Y3 & Y4 \\
         \hline
    \end{tabular}
\end{table}

答案1

除了使用之外booktabs,您还可以使用colortbl或(带有为表格着色的xcolor选项) 。[table]

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{booktabs}
 \begin{document}

\begin{tabular}{*5l}    \toprule
\emph{name} & \emph{foo} &&&  \\\midrule
Models    & A  & B  & C  & D  \\ 
\rowcolor{blue!50} Model $X$ & X1 & X2 & X3 & X4\\ 
\rowcolor{green!50} Model $Y$ & Y1 & Y2 & Y3 & Y4\\\bottomrule
 \hline
\end{tabular}
\end{document}

在此处输入图片描述

另一种方法有点自动化:

\rowcolors{<starting row>}{<first color>}{<second color>}

梅威瑟:

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{booktabs}
 \begin{document}

\rowcolors{3}{green!25}{yellow!50}
\begin{tabular}{ *5l }    \toprule
\emph{name} & \emph{foo} &&&  \\\midrule
Models    & A  & B  & C  & D  \\ 
Model $X$ & X1 & X2 & X3 & X4\\ 
Model $Y$ & Y1 & Y2 & Y3 & Y4\\\bottomrule
 \hline
\end{tabular}
\end{document}

在此处输入图片描述

xcolor请参阅texdoc.net更多细节。

答案2

你不应该使用垂直线:

\documentclass{article}
\usepackage{booktabs}
 \begin{document}

\begin{tabular}{@{} *5l @{}}    \toprule
\emph{name} & \emph{foo} &&&  \\\midrule
Models    & A  & B  & C  & D  \\ 
 Model $X$ & X1 & X2 & X3 & X4\\ 
 Model $Y$ & Y1 & Y2 & Y3 & Y4\\\bottomrule
 \hline
\end{tabular}
\end{document}

在此处输入图片描述

如果左边和右边没有\tabcolsep哪个对我来说看起来更好,但想给线条上色,那就有点棘手了:

\documentclass{article}
\usepackage{array,booktabs}
\newcolumntype{L}{@{}>{\kern\tabcolsep}l<{\kern\tabcolsep}}
\usepackage{colortbl}
\usepackage{xcolor}
 \begin{document}

\begin{tabular}{@{} l L L L @{} >{\kern\tabcolsep}l @{}}    \toprule
\emph{name} & \emph{foo} &&&  \\\midrule
Models    & A  & B  & C  & D  \\ 
\rowcolor{black!20}[0pt][0pt] Model $X$ & X1 & X2 & X3 & X4\\ 
\rowcolor{black!40}[0pt][0pt] Model $Y$ & Y1 & Y2 & Y3 & Y4\\\bottomrule
 \hline
\end{tabular}
\end{document}

在此处输入图片描述

答案3

使用booktabs包。文档讨论了如何生成更漂亮的表格。

  • 不要使用垂直线
  • 不要使用不必要的水平线
  • 使用以下方法删除表格左右两侧的多余空间:@{}

您可以阅读更多内容指导

\documentclass{article}
\usepackage{booktabs}

\begin{document}
\begin{table}
\begin{tabular}{@{} l *4c @{}}
\toprule
 \multicolumn{1}{c}{Models}    & A  & B  & C  & D  \\ 
\midrule
 Model $X$ & X1 & X2 & X3 & X4 \\ 
 Model $Y$ & Y1 & Y2 & Y3 & Y4 \\ \bottomrule
 \end{tabular}
\end{table}
\end{document}

在此处输入图片描述

答案4

只是为了好玩,建议使用优秀的tabularray包。

\documentclass{article}
\usepackage{xcolor}
\pagestyle{empty}
\usepackage{caption}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\begin{document}
\begin{table}
  \caption{Example of table with \texttt{tabularray}.}
  \label{tab:example}
  \centering
  \begin{tblr}{
      colspec={lllll},
      row{1}={font=\bfseries},
      column{1}={font=\itshape},
      row{even}={bg=gray!10},
    }
              & A  & B  & C  & D  \\
    \toprule
    Model $X$ & X1 & X2 & X3 & X4 \\
    Model $Y$ & Y1 & Y2 & Y3 & Y4 \\
    Model $Z$ & Z1 & Z2 & Z3 & Z4 \\
    \bottomrule
  \end{tblr}
\end{table}
\end{document}

在此处输入图片描述

相关内容