테이블에서 회전된 텍스트를 가로로 정렬하는 방법은 무엇입니까?

테이블에서 회전된 텍스트를 가로로 정렬하는 방법은 무엇입니까?

테이블에서 회전된 텍스트를 가로로 정렬하려고 합니다. 회전된 "Lorem Ipsum"과 회전된 "Lorem Ipsum & Lorem Ipsum" 텍스트를 셀의 가로 중앙에 배치하고 싶습니다. 각 열의 너비를 수동으로 조정하면 정렬이 더 이상 중앙에 맞춰지지 않습니다. 테이블이 단일 열의 너비에 맞도록 각 열의 너비를 수정해야 합니다.

나는 \multirow다음의 명령을 사용해 보았습니다.하단의 표에서 회전된 텍스트를 정렬하려면 어떻게 해야 합니까?하지만 수직 정렬만 수정할 수 있었습니다.

내 테이블은 다음과 같습니다.

테이블

코드는 다음과 같습니다(불필요한 패키지를 포함했다면 죄송합니다).

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{lipsum}
\usepackage{multirow}
\begin{document}

\newcommand\RotText[1]{\fontsize{9}{9}\selectfont \rotatebox[origin=c]{90}{\parbox{2.6cm}{\centering#1}}}
\newcolumntype{G}{>{\centering\arraybackslash}m{.0625cm}}
\newcolumntype{U}{>{\centering\arraybackslash}m{.375cm}}

{\centering
\begin{center}\begin{table}[ht]\caption{Lorem Ipsum Table}
\footnotesize
\centering
\begin{tabular}{|c|G|U|U|U|U|G|G|G|U|}
\hline
 & \multicolumn{9}{c|}{Lorem Ipsum} \\ 
\cline{2-10}

Instruction & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & 
\RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} \\
\hline
Lorem Ipsum     & 
& & X   & & & & & & \\

\hline
\end{tabular}
\end{table}
\end{center}
}

\lipsum

\end{document}

답변1

개정된 솔루션

MWE와 그에 대한 이전 조정의 문제점 중 하나는 기본적으로 길이로 정의된 열 사이에 할당된 자연 공간을 고려하지 않았다는 것입니다 \tabcolsep. 좁게를 원하는 경우 가장 먼저 해야 할 일은 를 사용하여 이를 끄는 것입니다 \setlength\tabcolsep{0pt}. 그런 다음에는 조정할 필요가 없으며 \vspace요구 사항을 충족하는 열 너비를 결정하는 문제가 발생합니다.

여기서도 조정 없이 열을 최대한 좁게 만들려고 노력했습니다. 나중에 복원해야 할 경우를 대비하여 \tabcolsep에 사본을 저장했습니다 .\svtabcolsep

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{lipsum}
\usepackage{multirow}
\begin{document}

\let\svtabcolsep\tabcolsep
\setlength\tabcolsep{0pt}
\newcommand\RotText[1]{\fontsize{9}{9}\selectfont
  \rotatebox[origin=c]{90}{\parbox{2.6cm}{%
\centering#1}}}
\newcolumntype{G}{>{\centering\arraybackslash}m{.35cm}}
\newcolumntype{U}{>{\centering\arraybackslash}m{.62cm}}

\begin{table}[ht]\caption{Lorem Ipsum Table}
\footnotesize
\centering
\begin{tabular}{|c|G|U|U|U|U|G|G|G|U|}
\hline
 & \multicolumn{9}{c|}{Lorem Ipsum} \\ 
\cline{2-10}

Instruction & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & 
\RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} \\
\hline
Lorem Ipsum     & 
& & X   & & & & & & \\

\hline
\end{tabular}
\end{table}

\lipsum

\end{document}

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

G및 열 유형을 생략하고 U대신 으로 만들고 c작은 유한 값을 사용하여 \tabcolsep목표를 달성할 수도 있습니다.

\let\svtabcolsep\tabcolsep
\setlength\tabcolsep{.3pt}
\newcolumntype{G}{c}
\newcolumntype{U}{c}

답변2

당신의 상자는멀리지정된 열 너비보다 넓어서 센터링이 작동하지 않습니다. 또한 테이블을 중앙 환경 내부에 두지 마십시오. 중앙 디스플레이에 아무것도 없는 가짜 수직 공간이 남게 됩니다.

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

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{lipsum}
\usepackage{multirow}
\begin{document}

\newcommand\RotText[1]{\rotatebox[origin=c]{90}{\parbox{2.6cm}{\centering#1}}}
\newcolumntype{G}{>{\centering\arraybackslash}m{.6cm}}
\newcolumntype{U}{>{\centering\arraybackslash}m{.6cm}}

\setlength\extrarowheight{3pt}
\begin{table}[ht]\caption{Lorem Ipsum Table}
\footnotesize
\centering
\begin{tabular}{|c|G|U|U|U|U|G|G|G|U|}
\hline
 & \multicolumn{9}{c|}{Lorem Ipsum} \\ 
\cline{2-10}

Instruction & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & 
\RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} \\
\hline
Lorem Ipsum     & 
& & X   & & & & & & \\

\hline
\end{tabular}
\end{table}


\lipsum

\end{document}

답변3

정말 촘촘하게 포장하고 싶다면...

테이블

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{lipsum}
\usepackage{multirow}
\begin{document}

\newcommand\RotText[1]{\fontsize{9}{9}\selectfont \rotatebox[origin=c]{90}{\parbox{2.6cm}{\centering#1}}}
\newcolumntype{C}{@{\hspace{2pt}}c@{\hspace{1pt}}}

\begin{table}[ht]\caption{Lorem Ipsum Table}
\footnotesize
\centering
\begin{tabular}{|c|C|C|C|C|C|C|C|C|C|}
\hline
 & \multicolumn{9}{c|}{Lorem Ipsum} \\ 
\cline{2-10}

Instruction & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} & 
\RotText{Lorem Ipsum \& Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum} & \RotText{Lorem Ipsum \& Lorem Ipsum} \\
\hline
Lorem Ipsum     & 
& & X   & & & & & & \\
\hline
\end{tabular}
\end{table}


\lipsum

\end{document}

관련 정보