Aktualisierung 1

Aktualisierung 1

Wie richtet man diese vertikale Linie am Ende der Mehrfachspalte aus?

Ich habe gesucht, aber ich konnte keine Antwort auf dieses Problem finden. Dies stammt vonWie behebt man diesen Paket-Array-Fehler: Nur eine Spaltenspezifikation zulässig?

Bildbeschreibung hier eingeben

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

Aktualisierung 1

Ich habe eine andere Frage gefunden, die das gleiche Problem zu haben scheint, aber es ist nicht leicht zu verstehen, was sie getan haben, um es zu beheben. Ich muss mein Diff-Programm öffnen, um den Originalcode und den korrigierten Code zu vergleichen:

  1. Warum sind die Linien um meine mehrspaltige Zelle falsch ausgerichtet?

Bildbeschreibung hier eingeben

Rechts steht der Fixcode, links der Originalcode.

Die Tabelle geht wie folgt vor:

Bildbeschreibung hier eingeben

Das mögen:

Bildbeschreibung hier eingeben


Aktualisierung 2

Von@David CarlisleKommentar, ich stelle fest, dass die dort gestellte Frage Update 1sich von dieser unterscheidet:

die bearbeitete Frage ist ein ganz anderes Problem, bitte ändern Sie die Frage nicht so, dass alle geposteten Antworten ungültig werden. Die hinzugefügte Frage ist das häufige Problem, | auf der falschen Seite der Zellgrenze zu platzieren, die ursprüngliche Frage hat damit nichts zu tun und betrifft nur Ihren Missbrauch von

Antwort1

Ihre Präambel hat die erforderliche Spaltenspezifikation verschleiert:

Bildbeschreibung hier eingeben

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

Ich habe es drin gelassen, \hsize=1.1\hsizeaber es ist völlig falsch! Wie auch unter der Frage kommentiert, @sorgt die Verwendung hier dafür, dass die vertikalen Linien nicht mehr im Spaltenzwischenraum zentriert sind.

Antwort2

Sie machen die Dinge hier zu kompliziert. Wenn Sie das anpassen müssen tabcolsep, überschreiben Sie einfach den Standardwert 4ptmit \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}

Antwort3

Eine Lösung für die erste Frage:

Der Übeltäter ist der @{\hspace{3pt}}, den Sie in nicht verwendet haben \multicolumn. Es ist jedoch besser, für die gesamte Tabelle \tabcolsepauf zu setzen:3pt

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

Bildbeschreibung hier eingeben

Antwort4

Bildbeschreibung hier eingeben

Ich füge eine geometryOption showframezum Anzeigen des Seitenlayouts hinzu. Jetzt ist die Tabellengröße besser sichtbar und zeigt, wie unnötig kompliziert Ihre Spaltenstildefinitionen sind.

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}

Bearbeiten: Vielleicht gefällt Ihnen folgende Lösung:

Bildbeschreibung hier eingeben

wo für die Tabelle die Umgebung verwendet wird 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}

verwandte Informationen