Ich habe folgende Tabelle:
Aus dem Code:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage{newtxtext,newtxmath}
\usepackage{array,ragged2e,tabularx,multirow}
\begin{document}
\section{Custos}
\begin{tabular}
{|
*1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{3.9cm}|} % Item
*1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{1.9cm}|} % Quantidade
*1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{3.0cm}|} % Valor, Valor
*1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{2.6cm}|} % Valor, Valor
}
\hline Item & Quantidade & Valor Unitário (R\$) & Valor Total (R\$) \\ \hline
CD & 1 & 5,00 & 5,00,00 \\ \hline
Impressão & 800 & 0,15 & 120,00 \\ \hline
Reserva Gerencial & 1 & 20,00 & 20,00 \\ \hline
Reserva de Contingência & 1 & 20,00 & 20,00 \\ \hline
Total & \multicolumn{2}{c c|}{} & 165,00 \\ \hline
\end{tabular}
\end{document}
Es tritt jedoch der folgende Fehler auf:
test.tex:29: Package array Error: Only one column-spec. allowed.. [... & \multicolumn{2}{c c}{}]
Die Tabelle wird fast so dargestellt, wie ich es möchte, mit Ausnahme der Verschiebung |
davor 165,00
.
Wie lässt sich dieser Fehler beheben und das verschobene |
Rohr richtig ausrichten?
Aktualisieren
Schöne Liste für Referenzen:
Antwort1
\multicolumn
kann nureinsSpaltenspezifizierer. Sie haben zwei! Aber warum haben Sie eine so komplizierte Kopfdefinition? Das hier macht dasselbe:
\begin{tabular}
{|
>{\RaggedRight}p{3.9cm}|
% Item
>{\RaggedRight}p{1.9cm}|
% Quantidade
>{\RaggedRight}p{3.0cm}|
% Valor, Valor
>{\RaggedRight}p{2.6cm}| }\hline
Item & Quantidade & Valor Unitário (R\$) & Valor
Total (R\$) \\ \hline
CD & 1 & 5,00 &
5,00,00 \\ \hline
Impressão & 800 & 0,15 &
120,00 \\ \hline
Reserva Gerencial & 1 & 20,00 &
20,00 \\ \hline
Reserva de Contingência & 1 & 20,00 &
20,00 \\ \hline
Total & \multicolumn{2}{c|}{} &
165,00 \\ \hline
\end{tabular}
Antwort2
Der Fehler liegt im Argument für \multicolumn
, aber ich glaube, Sie gehen bei Tabellen falsch vor: Es besteht keine Notwendigkeit, die Breite anzugeben, da TeX sie selbst berechnet.
Sie sehen, dass das erste und das zweite Beispiel im Wesentlichen identisch sind.
Ich habe auch ein drittes Beispiel hinzugefügt, um zu zeigen, wie einfach es ist, mit eine Ausrichtung am Dezimalkomma zu erreichen siunitx
. Dies erfordert etwas Aufmerksamkeit bei der Eingabe der Tabellenüberschriften, aber die Belohnung ist groß.
Im letzten Beispiel habe ich booktabs
Features verwendet, aber sie sind nicht zwingend erforderlich.
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage{newtxtext,newtxmath}
\usepackage{array,ragged2e,tabularx,multirow}
\usepackage{booktabs,siunitx} % for the last example
\sisetup{output-decimal-marker={,}} % for siunitx
\begin{document}
\begin{table}[htp]
\centering
\caption{Original, with the fix}
\begin{tabular}
{|
*1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{3.9cm}|} % Item
*1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{1.9cm}|} % Quantidade
*1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{3.0cm}|} % Valor, Valor
*1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{2.6cm}|} % Valor, Valor
}
\hline Item & Quantidade & Valor Unitário (R\$) & Valor Total (R\$) \\ \hline
CD & 1 & 5,00 & 5,00 \\ \hline
Impressão & 800 & 0,15 & 120,00 \\ \hline
Reserva Gerencial & 1 & 20,00 & 20,00 \\ \hline
Reserva de Contingência & 1 & 20,00 & 20,00 \\ \hline
Total & \multicolumn{2}{c|}{} & 165,00 \\ \hline
\end{tabular}
\end{table}
\begin{table}[htp]
\centering
\caption{Simpler}
\begin{tabular}{|l|l|l|l|}
\hline Item & Quantidade & Valor Unitário (R\$) & Valor Total (R\$) \\ \hline
CD & 1 & 5,00 & 5,00 \\ \hline
Impressão & 800 & 0,15 & 120,00 \\ \hline
Reserva Gerencial & 1 & 20,00 & 20,00 \\ \hline
Reserva de Contingência & 1 & 20,00 & 20,00 \\ \hline
Total & \multicolumn{2}{c|}{} & 165,00 \\ \hline
\end{tabular}
\end{table}
\begin{table}[htp]
\centering
\caption{Better?}
\begin{tabular}{ l S[table-format=3.0] S[table-format=2.2] S[table-format=3.2] }
\toprule
{Item} & {Quantidade} & {Valor Unitário (R\$)} & {Valor Total (R\$)} \\
\midrule
CD & 1 & 5,00 & 5,00 \\
Impressão & 800 & 0,15 & 120,00 \\
Reserva Gerencial & 1 & 20,00 & 20,00 \\
Reserva de Contingência & 1 & 20,00 & 20,00 \\
\midrule
Total & \multicolumn{2}{c}{} & 165,00 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}