여러 열의 끝 부분에 이 수직선을 정렬하는 방법은 무엇입니까?
검색해 보았지만 그러한 문제에 대한 답을 찾을 수 없었습니다. 이는 다음에서 유래되었습니다.이 패키지 배열 오류를 수정하는 방법: 하나의 열 사양만 허용됩니까?
\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 프로그램을 열어야 합니다.
오른쪽에는 고정 코드가 있고 왼쪽에는 원본 코드가 있습니다.
해당 테이블은 다음과 같습니다.
이것에:
업데이트 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}