如果我运行以下代码,我会得到一个包含 5 个多列的表格,但如果我\hline
在多列之前放置一个,如代码所示,它会关闭上部的所有表格。我怎样才能只关闭 5 个多列,而让其他部分没有线条?
\begin{tabular}{|r{1.5cm}|c{1.5cm}|c{1.5cm}|c{1.5cm}|c{1.5cm}|c{2.5cm}|c{1.33cm}|c{1.3cm}|c{2cm}|}
\hline %with this command the line is for all the table not just the 5 columns
\multicolumn{5}{|c|}{Mensual} \\
\hline
& L\'iquido & S. Social & IRPF & TOTAL & Anual l\'iquido & \multicolumn{2}{|c|}{} & Total Anual\\
Nombre & (A) & (B) & (C) & A+B+C & (D) = A $\times$ pagas& \multicolumn{2}{|c|}{Por Caja o ``B''} & (D) + Caja\\ \hline
Jos\'e & 2.563,56 \euro & 172,82 \euro & 864,12 \euro & 3.600,5 \euro & \textbf{38.453 \euro} & 21.295 \euro & 9.851 \euro & \textbf{69.599 \euro}\\ \hline
Pedro & 1.949,50 \euro & 170,60 \euro & 669,50 \euro & 2.789,6 \euro & \textbf{41.844 \euro} & \multicolumn{2}{|c|}{Sin Datos}& \textbf{41.844 \euro}\\ \hline
Antonio & 2.240,72 \euro & 181,99 \euro & 601,84 \euro & 3.024,6 \euro & \textbf{26.889 \euro} & \multicolumn{2}{|c|}{10.125 \euro}& \textbf{37.014 \euro}\\ \hline
Lina & 1.870,12 \euro & 152,01 \euro & 334,13 \euro & 2.356,3 \euro & \textbf{28.052 \euro} & \multicolumn{2}{|c|}{Sin Datos}& \textbf{28.052 \euro}\\ \hline
\end{tabular}
答案1
另一种选择是使用siunitx
与提议的表格类似的“开放式”米科在他的回答中:
\documentclass{article}
\usepackage{booktabs, makecell}
\usepackage{eurosym}
\usepackage{siunitx}
\usepackage{etoolbox}
\newcommand{\B}{\fontseries{b}\selectfont} % renew def. for non-extended bold font
\robustify\B
\begin{document}
\begingroup
\sisetup{detect-weight,
output-decimal-marker={,},
group-minimum-digits=4,
group-separator={.}
}
\setlength\tabcolsep{3pt}
\small
\begin{tabular}{@{}l
S[table-format=4.2]
*{2}{S[table-format=3.2]}
S[table-format=4.1]
S[table-format=4.0]
S[table-format=5.0]
S[table-format=4.0]
S[table-format=5.0]
@{}}
\toprule
& \multicolumn{4}{c}{Mensual} & \multicolumn{4}{c}{} \\
\cmidrule(lr){2-5}
\thead[b]{Nombre}
& {\thead[b]{L\'iquido\\ (A)}}
& {\thead[b]{S. Social\\ (B)}}
& {\thead[b]{IRPF\\ (C)}}
& {\thead[b]{TOTAL\\ (A + B + C)}}
& {\thead[b]{Anual l\'iquido (D)\\
$=(\mathrm{A})\times \mathrm{paagas}$}}
& \multicolumn{2}{c}{\thead[b]{Por Caja o ``B''}}
& {\thead[b]{Total Anual\\
$(D) + \mathrm{Caja}$}} \\
\cmidrule(lr){7-8}
& {\euro} & {\euro} & {\euro} & {\euro} & {\euro} & {\euro} & {\euro} & {\euro} \\
\midrule
Jos\'e & 2 563.56 & 172.82 & 864.12 & 3 600.5 & \B 38 453 & 21 295 & 9 851 & \B 69 599 \\ Pedro & 1 949.50 & 170.60 & 669.50 & 2 789.6 & \B 41 844
& \multicolumn{2}{c}{Sin Datos} & \B 41 844 \\
Antonio & 2 240.72 & 181.99 & 601.84 & 3 024.6 & \B 26 889
& \multicolumn{2}{c}{10.125} & \B 37 014 \\
Lina & 1 870.12 & 152.01 & 334.13 & 2 356.3 & \B 28 052
& \multicolumn{2}{c}{Sin Datos} & \B 28 052 \\
\bottomrule
\end{tabular}
\end{document}
答案2
据我所知,没有必要为任何列指定确切的宽度,尤其是自动换行似乎不合适。只需使用“标准”列类型 -- l
、c
和r
-- 即可。
您的表格确实有相当少的列,因此在纵向模式下,它不适合正常大小的页面(除非您选择极小的字体大小)。因此,我建议您改为以横向模式排版表格 - 使用包sidewaystable
提供的环境rotating
。
\documentclass[spanish]{article}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel} % or 'portuguese' ?
\usepackage{array,eurosym,rotating}
\begin{document}
\begin{sidewaystable}
\setlength\extrarowheight{2pt}
\centering
\begin{tabular}{|l|*{8}{c|}}
\cline{1-5}
\multicolumn{5}{|c|}{Mensual} \\
\hline
Nombre & L\'iquido & S. Social & IRPF & Total & Anual l\'iquido & \multicolumn{2}{c|}{Por Caja o ``B''} & Total Anual\\
& (A) & (B) & (C) & (A)+(B)+(C) & (D) = A$\times$pagas& \multicolumn{2}{c|}{} & (D) + Caja\\
\hline
Jos\'e & 2.563,56 \euro & 172,82 \euro & 864,12 \euro & 3.600,5 \euro & \textbf{38.453 \euro} & 21.295 \euro & 9.851 \euro & \textbf{69.599 \euro}\\
\hline
Pedro & 1.949,50 \euro & 170,60 \euro & 669,50 \euro & 2.789,6 \euro & \textbf{41.844 \euro} & \multicolumn{2}{c|}{Sin Datos}& \textbf{41.844 \euro}\\
\hline
Antonio & 2.240,72 \euro & 181,99 \euro & 601,84 \euro & 3.024,6 \euro & \textbf{26.889 \euro} & \multicolumn{2}{c|}{10.125 \euro}& \textbf{37.014 \euro}\\
\hline
Lina & 1.870,12 \euro & 152,01 \euro & 334,13 \euro & 2.356,3 \euro & \textbf{28.052 \euro} & \multicolumn{2}{c|}{Sin Datos}& \textbf{28.052 \euro}\\
\hline
\end{tabular}
\end{sidewaystable}
\end{document}
附录:您还应该考虑让表格看起来更“开放”,以便让其看起来更吸引人、更受读者欢迎。要实现这样的外观,请考虑 (i) 删除所有垂直线和大多数水平线,以及 (ii) 使用包的宏来booktabs
处理剩余的水平线。为了进一步提高可读性,请考虑将欧元符号放在单独的标题行中。
\documentclass[spanish]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[spanish]{babel} % or 'portuguese' ?
\usepackage{eurosym,rotating,booktabs}
\begin{document}
\begin{sidewaystable}
\centering
\begin{tabular}{@{}l*{8}{c}@{}}
\multicolumn{5}{@{}c}{Mensual} \\
\cmidrule(r){1-5}
Nombre & L\'iquido & S. Social & IRPF & Total & Anual l\'iquido & \multicolumn{2}{c}{Por Caja o ``B''} & Total Anual\\
& (A) & (B) & (C) & (A)+(B)+(C) & (D) = (A)$\times$pagas& & & (D) + Caja\\
\cmidrule(lr){7-8}
& (\euro) & (\euro) & (\euro) & (\euro) & (\euro) & (\euro) & (\euro) & (\euro) \\
\midrule
Jos\'e & 2.563,56 & 172,82 & 864,12 & 3.600,50 & \textbf{38.453} & 21.295 & 9.851 & \textbf{69.599}\\
\addlinespace
Pedro & 1.949,50 & 170,60 & 669,50 & 2.789,60 & \textbf{41.844} & \multicolumn{2}{c}{Sin Datos}& \textbf{41.844}\\
\addlinespace
Antonio & 2.240,72 & 181,99 & 601,84 & 3.024,55 & \textbf{26.889} & \multicolumn{2}{c}{10.125\,\euro}& \textbf{37.014}\\
\addlinespace
Lina & 1.870,12 & 152,01 & 334,13 & 2.356,26 & \textbf{28.052} & \multicolumn{2}{c}{Sin Datos}& \textbf{28.052}\\
\bottomrule
\end{tabular}
\end{sidewaystable}
\end{document}
答案3
\documentclass{article}
\usepackage{multirow}
\usepackage{eurosym}
\begin{document}
\begin{tabular}{|p{1.5cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{1.5cm}|p{0.9cm}|p{0.6cm}|p{1.2cm}|}
\hline %with this command the line is for all the table not just the 5 columns
\multicolumn{5}{|c|}{Mensual} &\multicolumn{4}{c|}{}\\ %needed to insert line break
\hline
& L\'iquido & S. Social & IRPF & TOTAL & Anual l\'iquido & \multicolumn{2}{|c|}{} & Total Anual\\
Nombre & (A) & (B) & (C) & A+B+C & (D) = A $\times$ pagas& \multicolumn{2}{|c|}{Por Caja o ``B''} & (D) + Caja\\ \hline
& \euro & \euro & \euro & \euro &\euro & \euro & \euro & \euro \\\hline
Jos\'e & 2.563,56 & 172,82 & 864,12 & 3.600,5 & \textbf{38.453} & 21.295 & 9.851 & \textbf{69.599 }\\ \hline
Pedro & 1.949,50 & 170,60 & 669,50 & 2.789,6 & \textbf{41.844 } & \multicolumn{2}{|c|}{Sin Datos}& \textbf{41.844 }\\ \hline
Antonio & 2.240,72 & 181,99 & 601,84 & 3.024,6 & \textbf{26.889 } & \multicolumn{2}{|c|}{10.125}& \textbf{37.014}\\ \hline
Lina & 1.870,12 & 152,01 & 334,13 & 2.356,3 & \textbf{28.052} & \multicolumn{2}{|c|}{Sin Datos}& \textbf{28.052 }\\ \hline
\end{tabular}
\end{document}