
Tengo la siguiente tabla:
Del código:
\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}
Pero arroja el error:
test.tex:29: Package array Error: Only one column-spec. allowed.. [... & \multicolumn{2}{c c}{}]
La tabla se está procesando casi como me gusta, excepto por el desplazamiento |
anterior 165,00
.
¿Cómo eliminar la aparición del error y alinear correctamente la |
tubería desplazada?
Actualizar
Buena lista de referencias:
Respuesta1
\multicolumn
sólo puede tenerunoespecificador de columna. ¡Tienes dos! Sin embargo, ¿por qué tienes una definición de cabeza tan complicada? Esto hace lo mismo:
\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}
Respuesta2
El error está en el argumento de \multicolumn
, pero creo que estás adoptando un enfoque incorrecto con las tablas: no es necesario especificar el ancho, ya que TeX lo calculará por sí solo.
Puede ver que el primer y segundo ejemplo son esencialmente iguales.
También agregué un tercer ejemplo para mostrar lo fácil que es alinear la coma decimal con siunitx
. Esto requiere cierta atención en la entrada de los encabezados de la tabla, pero la recompensa es grande.
En el ejemplo final utilicé booktabs
funciones, pero no son obligatorias.
\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}