アップデート1

アップデート1

この垂直線を複数列の最後に揃えるにはどうすればよいでしょうか?

検索しましたが、そのような問題に対する答えは見つかりませんでした。これはこのパッケージ配列エラーを修正する方法: 列仕様は 1 つだけ許可されますか?

ここに画像の説明を入力してください

\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
        *1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{2.6cm}|} % Valor
    }

        \hline Item &   Quantidade  &   Valor Unitário (R\$) & Valor Total (R\$) \\ \hline
        Total       & \multicolumn{2}{c|}{}                  & 165,00            \\ \hline

    \end{tabular}

\end{document}

アップデート1

同じ問題を抱えていると思われる別の質問を見つけましたが、それを修正するために何をしたのか理解するのは簡単ではありません。元のコードと修正されたコードを比較するには、diff プログラムを開く必要があります。

  1. 複数列のセルの周囲の線がずれているのはなぜですか?

ここに画像の説明を入力してください

右側には修正されたコードがあり、左側には元のコードがあります。

その表は次のようになります:

ここに画像の説明を入力してください

これに:

ここに画像の説明を入力してください


アップデート2

による@デビッド・カーライルコメントを見ると、 で言及されている質問がUpdate 1この質問とは異なることがわかります。

編集された質問はまったく別の問題です。投稿されたすべての回答を無効にするような質問の変更はしないでください。追加された質問は、セル境界の間違った側に|を置くという一般的な問題であり、元の質問はそれとは関係なく、単に

答え1

序文で必要な列の仕様が不明瞭になっています:

ここに画像の説明を入力してください

\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
        *1{@{\hspace{3.0pt}}>{ \RaggedRight\arraybackslash\hsize=1.1\hsize }p{2.6cm}|} % Valor
    }

        \hline Item &   Quantidade  &   Valor Unitário (R\$) & Valor Total (R\$) \\ \hline
        Total       & \multicolumn{2}{c|@{\hspace{3.0pt}}}{}                  & 165,00            \\ \hline

    \end{tabular}

\end{document}

を残しました\hsize=1.1\hsizeが、それは完全に間違っています。また、質問の下にコメントされているように、@ここでの使用法では、垂直方向の罫線が列間のスペースの中央に配置されなくなります。

答え2

ここでは物事が複雑になりすぎています。 を調整する必要がある場合はtabcolsep、デフォルト4ptを で上書きするだけです\setlength{\tabcolsep}{3pt}

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

\newcolumntype{R}[1]{>{\RaggedRight}p{#1}}
\setlength{\tabcolsep}{3pt}
\begin{document}

\section{Custos}

\begin{tabular}
    {| R{3.9cm}| % Item
       R{1.9cm}| % Quantidade
       R{3.0cm}| % Valor
       R{2.6cm}| % Valor
    }
    \hline 
    Item    & Quantidade    &   Valor Unitário (R\$) & Valor Total (R\$) \\ \hline
    Total   & \multicolumn{2}{c|}{}                  & 165,00            \\ \hline
\end{tabular}

\end{document}

答え3

最初の質問に対する解決策:

原因は@{\hspace{3pt}}で使用しなかったです。ただし、テーブル全体に対して を に設定\multicolumnする方が適切です 。\tabcolsep3pt

\documentclass[12pt, brazil]{article}
\usepackage[utf8]{inputenc}

\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[a4paper, margin=2cm, showframe]{geometry}

\usepackage{newtxtext,newtxmath}
\usepackage{array,ragged2e,tabularx,multirow}

\begin{document}

\section{Custos}

{\setlength\tabcolsep{3pt}
    \begin{tabular}
    {|>{\RaggedRight\arraybackslash}p{3.9cm}|% Item
    >{\RaggedRight\arraybackslash}p{1.9cm}| % Quantidade
    >{\RaggedRight\arraybackslash}p{3.0cm}| % Valor
    >{\RaggedRight\arraybackslash}p{2.6cm}|} % Valor
        \hline %
        Item & Quantidade & Valor Unitário (R\$) & Valor Total (R\$) \\ %
        \hline
        Total & \multicolumn{2}{c|}{Lalala} & 165,00 \\ %
        \hline
    \end{tabular}}

\end{document} 

ここに画像の説明を入力してください

答え4

ここに画像の説明を入力してください

geometryページ レイアウトを表示するためのオプションを追加しましたshowframe。これで、テーブルのサイズがより見やすくなり、列スタイルの定義が不必要に複雑になることがなくなりました。

MWE:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}

\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[showframe,
            a4paper, margin=2cm]{geometry}

\usepackage{newtxtext,newtxmath}
\usepackage{array,ragged2e,tabularx,multirow}

\newcolumntype{R}[1]{>{\RaggedRight}p{#1}}
%\setlength{\tabcolsep}{3pt}
\begin{document}

\section{Custos}

\begin{tabular}
    {| R{4cm}| % Item
       R{2cm}| % Quantidade
       R{3.5cm}| % Valor
       R{3cm}| % Valor
    }
    \hline
    Item    & Quantidade    &   Valor Unitário (R\$) & Valor Total (R\$) \\ \hline
    Total   & \multicolumn{2}{R{4.9cm}|}{}                  & 165,00            \\ \hline
\end{tabular}    
\end{document}

編集: おそらく、次の解決策が気に入るでしょう:

ここに画像の説明を入力してください

テーブルが使用されるtabularx環境:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}

\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[showframe,
            a4paper, margin=2cm]{geometry}

\usepackage{newtxtext,newtxmath}
\usepackage{array,ragged2e,tabularx,multirow}
\newcolumntype{R}{>{\RaggedRight}X|}

\begin{document}

\section{Custos}

    \begin{tabularx}{\linewidth}
    {| >{\hsize=1.75\hsize}R   % Item
                           R   % Quantidade
       >{\hsize=1.25\hsize}R   % Valor
                           R   % Valor
    }
    \hline
Item    &   Quantidade            &   Valor Unitário (R\$)  & Valor Total (R\$) \\ \hline
Total   &   \multicolumn{2}{R}{}                            &   165,00            \\ \hline
    \end{tabularx}
\end{document}

関連情報