업데이트 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. 그러나 전체 테이블에 대해 \tabcolsep설정 하는 것이 더 좋습니다 .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} 

여기에 이미지 설명을 입력하세요

답변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}

관련 정보