适合论文的优质文体 LaTeX 表格

适合论文的优质文体 LaTeX 表格

从昨天开始,我就一直在网上寻找答案。但我要找的是带有白色/灰色背景、黑色标题行和白色文本的方框单元格表格。如果它有边框并且可以覆盖整个页面,则加分。我曾尝试在 tabularray 中执行此操作,但配色方案是我刚接触的东西,如果有人可以解释如何在 LaTeX 中有效地执行此操作,我将不胜感激。我尝试过的一些示例如下:

\documentclass{article}
\usepackage{booktabs}
\usepackage[landscape,a4paper]{geometry}
\usepackage{colortbl}
\usepackage{xcolor}
\usepackage{xfrac}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}
\begin{document}
\begin{table*}\centering
\ra{1.3}

\begin{tabular}{c|c|c|c}\toprule
 Nucleus & \textit{I} & Natural Abundance / \% & Larmor Frequency @ 7T \\
\midrule
\rowcolor{black!20} \textsuperscript{1}H & \sfrac{1}{2} & 99.98 & 298.0 \\
\textsuperscript{2}H & 1 & 0.02 & 45.7 \\
\rowcolor{black!20} \textsuperscript{12}C & 0 & 98.90 & - \\
\textsuperscript{13}C & \sfrac{1}{2} & 1.10 & 74.9 \\
\rowcolor{black!20} \textsuperscript{14}N & 1 & 99.60 & 21.5 \\
\textsuperscript{15}N & \sfrac{1}{2} & 0.40 & 30.2 \\
\rowcolor{black!20} \textsuperscript{16}O & 0 & 99.96 & - \\
\textsuperscript{17}O & \sfrac{1}{2} & 0.04 & 40.4 \\
\bottomrule
\end{tabular}
\end{table*}
\end{document}
\documentclass{article}
\usepackage{CormorantGaramond}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}

\tikzset{
    table/.style={
        matrix of nodes,
        row sep=-\pgflinewidth,
        column sep=-\pgflinewidth,
        nodes={
            rectangle,
            draw=black,
            align=center
        },
        minimum height=1.5em,
        text depth=0.5ex,
        text height=2ex,
        nodes in empty cells,
%%
        every even row/.style={
            nodes={fill=gray!20}
        },
        column 1/.style={
            nodes={text width=2em,font=\bfseries}
        },
        row 1/.style={
            nodes={
                fill=black,
                text=white,
                font=\bfseries
            }
        }
    }
}

\begin{tikzpicture}

\matrix (first) [table,text width=6em]
{
& Monday   & Tuesday & Wednesday & Thursday & Friday\\
1   & A & B & C & D & E \\
2   & F & G & H & J & K \\
3   & A & B & C & D & E \\
4   & F & G & H & J & K \\
};


\end{tikzpicture}
\end{document}

取自:

https://tinkertailorsoldiersponge.com/blog/2014/07/07/fancy-thesis-tables-in-latex

使用 TikZ 包的花式表格示例

输出结果更接近我想要的是第二个。

答案1

以下是我制作第一个表格的方法,但使其看起来更像第二个表格tabularray。我在后面的选项中注释了指定的选项\begin{tblr},希望它们的作用一目了然。

查看tabularray 文档了解有关每个选项的更多信息。

\documentclass{article}
\usepackage{CormorantGaramond}
\usepackage[italic]{mathastext}% Garamond for numbers too
\usepackage{xfrac}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}% library for aligning at decimal place

\begin{document}
\begin{table*}\centering
\begin{tblr}{
colspec={Q[c,m] Q[c,m] % first two columns centered in middle
Q[m,c,si={table-format=2.2},wd=7em] % next two centered but aligned at decimals
Q[m,c,si={table-format=3.1},wd=7em]}, % also a fixed width, so header wraps
row{odd} = {bg=black!20},% make odd rows have gray background
row{1} = {bg=black,fg=white,font=\bfseries},% top row black with white foreground and in bold
vlines,hlines, % use both horizontal and vertical lines
}
{{{Nucleus}}} & {{{\textit{I}}}} & {{{Natural \\ Abundance / \%}}} & {{{Larmor \\ Frequency @ 7T}}} \\
\textsuperscript{1}H & \sfrac{1}{2} & 99.98 & 298.0 \\
\textsuperscript{2}H & 1 & 0.02 & 45.7 \\
\textsuperscript{12}C & 0 & 98.90 & {{{---}}} \\
\textsuperscript{13}C & \sfrac{1}{2} & 1.10 & 74.9 \\
\textsuperscript{14}N & 1 & 99.60 & 21.5 \\
\textsuperscript{15}N & \sfrac{1}{2} & 0.40 & 30.2 \\
\textsuperscript{16}O & 0 & 99.96 & {{{---}}} \\
\textsuperscript{17}O & \sfrac{1}{2} & 0.04 & 40.4
\end{tblr}
\end{table*}
\end{document}

tblr 示例

当然有办法让它填满整个页面,但是这个特定的表没有数据来实现这一点,我想先看看其余部分的样子,然后再决定它们的排列方式。

可以说,如果删除内部线条,它看起来会一样好:

\documentclass{article}
\usepackage{CormorantGaramond}
\usepackage[italic]{mathastext}% Garamond for numbers too
\usepackage{xfrac}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}% library for aligning at decimal place

\begin{document}
\begin{table*}\centering
\begin{tblr}{
colspec={|Q[c,m] Q[c,m] % first two columns centered in middle
Q[m,c,si={table-format=2.2},wd=7em] % next two centered but aligned at decimals
Q[m,c,si={table-format=3.1},wd=7em]|}, % also a fixed width to header wraps
row{odd} = {bg=black!20},% make odd rows have gray background
row{1} = {bg=black,fg=white,font=\bfseries},% top row black with white spacing and in bold
 % use both horizontal and vertical lines
}
{{{Nucleus}}} & {{{\textit{I}}}} & {{{Natural \\ Abundance / \%}}} & {{{Larmor \\ Frequency @ 7T}}} \\
\textsuperscript{1}H & \sfrac{1}{2} & 99.98 & 298.0 \\
\textsuperscript{2}H & 1 & 0.02 & 45.7 \\
\textsuperscript{12}C & 0 & 98.90 & {{{---}}} \\
\textsuperscript{13}C & \sfrac{1}{2} & 1.10 & 74.9 \\
\textsuperscript{14}N & 1 & 99.60 & 21.5 \\
\textsuperscript{15}N & \sfrac{1}{2} & 0.40 & 30.2 \\
\textsuperscript{16}O & 0 & 99.96 & {{{---}}} \\
\textsuperscript{17}O & \sfrac{1}{2} & 0.04 & 40.4 \\ \hline
\end{tblr}
\end{table*}
\end{document}

另一种风格

编辑:正如评论中提到的,新列在 tblr 选项中使用该colspec={...}选项指定。这类似于{|c|c|c|c|}您在典型tabular环境中看到的指定列的部分。

不同之处在于 tabularray 允许更多选项,因此通用列规范看起来像Q[m,c,wd=2in]而不仅仅是c,带有Q跟着括号中的选项列表。您可以在第 20 页找到可用的选项文档

(还有一些其他选项,例如SX类型列,但这些与具有某些选项的列相同Q;文档中有详细信息。)

如果你希望表格占据整个页面的宽度,通常最好有一个或多个可扩展列,与 tabularx 的列类似X。但是,tabularray 使用扩展系数来实现这一点,扩展系数设置了列在扩展时的相对宽度。

您还可以使用 手动将列​​宽指定为固定大小wd=

带有 或wd=co=列允许换行,因此可以换行成段落。下面是一个包含三列的示例,所有列都允许段落。

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\usepackage{lipsum}% generate dummy paragraphs

\begin{document}

\lipsum[5]
\begin{table*}[h]\centering
\begin{tblr}{colspec={
Q[wd=0.8in,l,m]% first column is exactly 1in wide, left aligned in the vertical middle
Q[co=1,l,m]% second column has an expandable width of coefficient 1
Q[co=2,l,m]% third column has an expandable width of coefficient 2 (Wider)
},% end of colspec
row{odd} = {bg=black!20},% make odd rows have gray background
row{1} = {bg=black,fg=white,font=\bfseries},% top row black with white foreground and in bold
hlines,vlines
}
Fixed & Expands & Expands Wider \\
\lipsum[1][1] & \lipsum[2][1-2] & \lipsum[3][1-2] \\
\end{tblr}
\end{table*}
\end{document}

带有可扩展列的表格

具有系数的元素将自然扩展以填充页面的宽度;系数越大,它们的相对尺寸就越大。

如果您希望每列具有相同的宽度,则可以co=1在所有列中使用相同的宽度规范。

相关内容