![在表格环境中绘制类似 Dash 的中线](https://linux22.com/image/311403/%E5%9C%A8%E8%A1%A8%E6%A0%BC%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%BB%98%E5%88%B6%E7%B1%BB%E4%BC%BC%20Dash%20%E7%9A%84%E4%B8%AD%E7%BA%BF.png)
我可以画出这个表格的大部分内容。但我不知道如何画出虚线状的中线。
多谢。
\begin{table}
\captionsetup{labelformat=empty}\
\centering \caption{REVENUE INTEREST}\
\begin{tabular}{ccccc}
\toprule
\multirow{2}{*}{\hspace{5 mm}}&EXPENSE&Oil&Plant&Gas\\
\makebox[3em]{}&\makebox[6em]{INTEREST}&\makebox[6em]{Condensate}&\makebox[6em]{Products}&\makebox[6em]{\hspace{5 mm}} \\
A&\parbox[c][3em][c]{6em}{0.0000}&4&2&1\\
\bottomrule [0.0 pt]
\end{tabular}
\end{table}
答案1
对于数字表,使用siunitx
。
\documentclass{article}
\usepackage{siunitx,booktabs,caption}
\begin{document}
\begin{table}
\captionsetup{labelformat=empty}
\centering \caption{REVENUE INTEREST}
\begin{tabular}{
*{4}{S[table-format=1.4]}
}
\toprule
{Expense} & {Oil/} & {Plant} & \\
{Interest} & {Condensate} & {Products} & {Gas} \\
\cmidrule(lr){1-1} \cmidrule(lr){2-2} \cmidrule(lr){3-3} \cmidrule(lr){4-4}
1.2345 & 1.2345 & 1.2345 & 1.2345 \\
1.2345 & 1.2345 & 1.2345 & 1.2345 \\
1.2345 & 1.2345 & 1.2345 & 1.2345 \\
\midrule[\heavyrulewidth]
\multicolumn{4}{l}{%
\footnotesize
All amounts are expressed in thousands of dollars%
}
\end{tabular}
\end{table}
\end{document}
答案2
\tabdashline
以下是我根据我在的回答自制的表格环境中使用虚线代替 \hline。在这里,我没有将其扩展到单元格边界。它一次只处理一列。语法&&&\tabdashline
将把虚线填充放在第 4 列。
\repfrac
、\replength
和等参数\rulewidth
允许对虚线进行定制。
\documentclass{article}
\usepackage{caption}
\usepackage{booktabs,multirow}
\newlength\replength
\newcommand\repfrac{.66}
\newcommand\dashfrac[1]{\renewcommand\repfrac{#1}}
\setlength\replength{5pt}
\newcommand\rulewidth{.8pt}
\newcommand\tdashfill[1][\repfrac]{\cleaders\hbox to \replength{%
\smash{\rule[\arraystretch\ht\strutbox]{\repfrac\replength}{\rulewidth}}}\hfill}
\newcommand\tabdashline{%
\tdashfill\hfil%
\\[-\arraystretch\dimexpr\ht\strutbox+\dp\strutbox\relax]%
}
\begin{document}
\begin{table}
\captionsetup{labelformat=empty}\
\centering \caption{REVENUE INTEREST}\
\begin{tabular}{ccccc}
\toprule
\multirow{2}{*}{\hspace{5 mm}}&EXPENSE&Oil&Plant&Gas\\
\makebox[3em]{}&\makebox[6em]{INTEREST}&\makebox[6em]{Condensate}&\makebox[6em]{Products}&\makebox[6em]{\hspace{5 mm}} \\
& \tabdashline
&& \tabdashline
&&& \tabdashline
&&&& \tabdashline
A&\parbox[c][3em][c]{6em}{0.0000}&4&2&1\\
\bottomrule [0.0 pt]
\end{tabular}
\end{table}
\end{document}
如果有人对语法不满意
& \tabdashline
&& \tabdashline
&&& \tabdashline
&&&& \tabdashline
那么这是一个替代版本,而是使用
& \tabdashline & \tabdashline & \tabdashline & \tabdashline\tabdashnewline
以下是 MWE:
\documentclass{article}
\usepackage{caption}
\usepackage{booktabs,multirow}
\newlength\replength
\newcommand\repfrac{.66}
\newcommand\dashfrac[1]{\renewcommand\repfrac{#1}}
\setlength\replength{5pt}
\newcommand\rulewidth{.8pt}
\newcommand\tdashfill[1][\repfrac]{\cleaders\hbox to \replength{%
\smash{\rule[\arraystretch\ht\strutbox]{\repfrac\replength}{\rulewidth}}}\hfill}
\newcommand\tabdashline{%
\tdashfill\hfil%
}
\newcommand\tabdashnewline{%
\\[-\arraystretch\dimexpr\ht\strutbox+\dp\strutbox\relax]%
}
\begin{document}
\begin{table}
\captionsetup{labelformat=empty}\
\centering \caption{REVENUE INTEREST}\
\begin{tabular}{ccccc}
\toprule
\multirow{2}{*}{\hspace{5 mm}}&EXPENSE&Oil&Plant&Gas\\
\makebox[3em]{}&\makebox[6em]{INTEREST}&\makebox[6em]{Condensate}&\makebox[6em]{Products}&\makebox[6em]{\hspace{5 mm}} \\
& \tabdashline & \tabdashline & \tabdashline & \tabdashline\tabdashnewline
A&\parbox[c][3em][c]{6em}{0.0000}&4&2&1\\
\bottomrule [0.0 pt]
\end{tabular}
\end{table}
\end{document}