更新

更新

我有下表:

在此处输入图片描述

从代码来看:

\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}

但抛出了错误:

 test.tex:29: Package array Error: Only one column-spec. allowed.. [...                  & \multicolumn{2}{c c}{}]

|除了之前的移动之外,表格的呈现方式几乎与我喜欢的方式一致165,00

如何消除出现的错误并正确对齐移位的|管道?


更新

很好的参考清单:

  1. LaTeX 表中的多列和多行单元格
  2. https://en.wikibooks.org/wiki/LaTeX/Tables
  3. tabular、tabular* 和 tabularx 环境之间有什么区别?
  4. 在 Latex 中使用多列
  5. Latex 表格多行多列

答案1

\multicolumn只能有列说明符。你有两个!但是,你为什么有这么复杂的头部定义。这做了同样的事情:

\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}

答案2

错误出现在 的参数中\multicolumn,但我认为您对表格采取了错误的处理方法:不需要指定宽度,因为 TeX 会自行计算。

您可以看到第一个示例和第二个示例本质上是相同的。

我还添加了第三个示例,以展示使用 轻松实现小数点逗号对齐siunitx。这需要在输入表头时多加注意,但回报是巨大的。

在最后一个例子中,我使用了booktabs特征,但它们不是强制性的。

\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}

在此处输入图片描述

相关内容