테이블 너비를 선폭으로 정확하게 설정

테이블 너비를 선폭으로 정확하게 설정

주변 텍스트와 정확히 동일한 너비의 표를 만들려고 합니다.

나는 명령이 \resizebox{\linewidth}{!}{..table..}그 일을 수행해야 한다고 기대합니다. 그러나 테이블 너비는 여전히 너무 작습니다.

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

\documentclass{scrartcl} 
\usepackage{graphicx}
\usepackage[table]{xcolor}
\setlength{\parindent}{0pt}

\usepackage[
  top=0.600cm, 
  bottom=0.600cm,
  left=0.600cm, 
  right=0.600cm]
  {geometry}


\begin{document}
bla blub blaaa bla blub blaaabla blub blaaa bla blub blaaa bla blub blaaa bla blub blaaaa
bla blub blaaa bla blub blaaabla blub blaaa bla blub blaaa bla blub blaaa bla blub blaaaa
bla blub blaaa bla blub blaaabla blub blaaa bla blub blaaa bla blub blaaa bla blub blaaaa
bla blub blaaa bla blub blaaabla blub blaaa bla blub blaaa bla blub blaaa bla blub


\resizebox{\linewidth}{!}{
\begin{tabular}{|l|l|l|l|}
  \hline
  test entry & test entry & test entry & test entry \\
  test entry & test entry & test entry & test entry \\
  test entry & test entry & test entry & test entry \\
  \hline
\end{tabular}
}

\end{document}

답변1

나는 당신에게 두 가지 좋은 선택과 (아마도) 두려운 선택이 있다고 생각합니다.

  • 환경 을 사용하고 tabular*,

  • tabularx환경(또는 그 가까운 사촌 tabulary) 을 사용하세요 .

  • 기본 tabular환경을 사용하고 \resizebox.

결과는 다음과 같습니다. 첫 번째 수평선은 단지 텍스트 블록의 너비를 보여주기 위한 것입니다.시체4개의 테이블은 동일합니다. 즉, 레이아웃만 "만" 다릅니다.

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

\resizebox내가 왜 그 방법을 끔찍하다고 생각하는지 알 수 있나요 ?

\documentclass{scrartcl} 
\usepackage{graphicx} % for '\resizebox` macro
\usepackage{tabularx} % for 'tabularx' environment
\setlength{\parindent}{0pt}
\usepackage[margin=0.6cm]{geometry}
\newcommand\TestTable{% define body of test table
  \hline
  test entry & test entry & test entry & test entry \\
  test entry & test entry & test entry & test entry \\
  test entry & test entry & test entry & test entry \\
  \hline}
\begin{document}
\hrule

\subsubsection*{Unscaled}

\begin{tabular}{llll}
\TestTable
\end{tabular}

\subsubsection*{Using \texttt{tabular*}}

\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}lll}
\TestTable
\end{tabular*}

\subsubsection*{Using \texttt{tabularx}}

\begin{tabularx}{\textwidth}{XXXX}
\TestTable
\end{tabularx}

\subsubsection*{Scaled with \texttt{\textbackslash resizebox}}

\resizebox{\linewidth}{!}{%
\begin{tabular}{llll}
\TestTable
\end{tabular}}

\end{document}

관련 정보