너비 100% 및 수직/가로 정렬이 적용된 테이블

너비 100% 및 수직/가로 정렬이 적용된 테이블

LaTeX에서 다음 표를 그리고 싶습니다. 첫 번째 열의 텍스트는 왼쪽 정렬되어야 합니다. 다른 모든 셀의 텍스트는 중앙에 위치해야 합니다. 첫 번째 문제는 첫 번째 행의 D에서 발생합니다. \centering앞에 a를 쓰면 DLaTeX 오류가 발생합니다. 두 번째 문제는 모든 셀의 텍스트를 수직으로 정렬하고 싶지만 방법을 모른다는 것입니다. 해결책을 찾았지만 첫 번째 열의 너비가 지정되면 작동하지 않습니다.

\documentclass{article}
\usepackage{blindtext}
\usepackage{tabularx}

\begin{document}
  \begin{tabularx}{\textwidth}{|p{4cm}|X|X|X|X|}
    \hline
               & \centering A & \centering B & \centering C & D\\
    \hline
    \blindtext & 123 & 123 & 123 & 123\\
    \hline
  \end{tabularx}
\end{document}

답변1

가로 및 세로 중앙에 있는 텍스트의 경우 X 열 정의를 다시 정의합니다.

\documentclass{article}
\usepackage{ragged2e}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{>{\Centering}m{#1}}

\newcommand\TEXT{%
I want to draw the following table in Latex. In the first column the text should be left aligned. The text in all other cells should be centered.}% only for demo


\begin{document}
\begin{tabularx}{\textwidth}{|m{4cm}*4{|X}|}\hline
           &  A  &   B &   C & D         \\\hline
\TEXT\TEXT & 123 & 123 & 123 & \TEXT\\\hline
\end{tabularx}
\end{document}

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

답변2

표준 TeX 방법으로 정렬을 수행할 수 있지만 LaTeX ragged2e패키지를 사용하면 더 좋습니다.

\documentclass{article}
\usepackage{blindtext}
\usepackage{tabularx}

\usepackage{ragged2e}


\begin{document}
  \begin{tabularx}{\textwidth}{|>{\RaggedRight}p{4cm}*{5}{|>{\Centering}X}|}
    \hline
               &  A & B & C & D\\
    \hline
    \blindtext & 123 & 123 & 123 & 123\\
    \hline
  \end{tabularx}
\end{document}

X은 기본적으로 열입니다 p{...}. 따라서 \RaggedRight각 셀의 시작 부분 과 같은 명령을 사용할 수 있습니다 . 각 셀에 대해 자동으로 수행하려면 >{..}해당 행의 각 셀 시작 부분에 중괄호 내용을 삽입하는 을 사용하면 됩니다.

마지막 5개 셀의 반복을 피하기 위해 구문을 삽입했습니다 *{5}{...}.

관련 정보