표 형식의 사각형에 사용 가능한 공간 채우기

표 형식의 사각형에 사용 가능한 공간 채우기

나는 각 사각형의 내부 텍스트가 \tabular사용 가능한 전체 공간을 채우도록 노력하고 있습니다. 예를 들어, 아래 표에서 columnc2와 d2가 있을 명확한 빈 공간을 드러내지 않는 방식으로 a2와 b2가 s2 아래 전체를 차지하길 원합니다 .

\usepackage{amssymb}
\usepackage{multirow}

...

\begin{center}\begin{tabular}{|c|c|c|c|}
  \hline
  \multicolumn{4}{|c|}{\bf title}\\
  \hline \hline
  \bf s1 & \bf s2 & \bf s3 & \bf s4\\
  \hline \hline
  \multirow{4}{*}{$\varnothing$} & a2 & a3 & a4\\
  & b2 & b3 & b4\\
  & & c3 & c4\\
  & & d3 &\\
  \hline
\end{tabular}\label{table}\end{center}

누구든지 단서가 있습니까?


편집하다:

\usepackage{amssymb}
\usepackage{multirow}

...

\begin{center}\begin{tabular}{|c|c|c|c|}
  \hline
  \multicolumn{4}{|c|}{\bf Requête}\\
  \hline \hline
  \bf s1 & \bf s2 & \bf s3 & \bf s4\\
  \hline \hline
  \multirow{5}{*}{$\varnothing$} & \multirow{2}{*}{a2} & a3 & \multirow{3}{*}{a4}\\
  & \multirow{2}{*}{b2} & b3 & \multirow{3}{*}{b4}\\
  & & c3 & \multirow{3}{*}{c4}\\
  & & d3 &\\
  & & e3 &\\
  \hline
\end{tabular}\end{center}

Ignasi 게시 후 전체 테이블에 대중화되었습니다. 그러나 's2' 아래에 오작동이 나타납니다.테이블

답변1

이 결과를 얻기 위해 몇 가지 간격 해킹을 사용할 수 있지만 \multirow(아래 첫 번째 표 참조) 데이터에 대해 더 많이 알지 못하면 이것이 독자에게 어떻게 도움이 될지 알기 어렵습니다.

아래 두 번째 예에서와 같이 테이블을 회전하는 것이 더 명확할 수 있습니다. 이 예제는 booktabs더 매력적인 테이블 형식 지정을 위해 패키지를 사용하기도 합니다.


이는 \bf더 이상 사용되지 않는 명령입니다. 대신 사용하세요 \textbf{}. 더 나은 점은 여기서 보여주듯이 \tableheader스타일과 내용을 분리하는 것과 같은 의미론적 명령을 정의하는 것입니다. 이를 더욱 쉽게 만들어주는 테이블 패키지가 있습니다.

또한 제목 행 대신 테이블 캡션을 사용하고 etoolbox모든 테이블을 중앙에 배치하는 데 사용하는 것이 좋습니다.


\documentclass{article}
\usepackage{multirow} % for \multirow
\usepackage{amssymb} % for \varnothing
\usepackage[position=above]{caption} % for table caption positioned above

\usepackage{booktabs} % for more attractive table spacing and rules
\usepackage{etoolbox} % center the tables
\AtEndEnvironment{table}{\centering}

\newcommand{\tableheader}[1]{\textbf{#1}}

\begin{document}
\begin{table}
\caption{Title}
\label{table}
\begin{tabular}{|c|c|c|c|}
\hline
%\multicolumn{4}{|c|}{\tableheader{title}}\\ % use caption instead?
%\hline \hline
\tableheader{s1} & \tableheader{s2} & \tableheader{s3} & \tableheader{s4}\\
\hline \hline
\multirow{4}{*}{$\varnothing$} & 
    \multirow{4}{*}{%
        \vspace*{\fill}
        \renewcommand{\arraystretch}{2}
        \begin{tabular}{@{}c}
        a2\\
        b2\\
        \end{tabular}%
        \vspace*{\fill}%
    } & a3 & a4\\
 & & b3 & b4\\
 & & c3 & c4\\
 & & d3 &\\
\hline
\end{tabular}
\end{table}

%***************************************
\begin{table}
\caption{Rotated}
\label{table:rotated}
\begin{tabular}{*{5}c}
\toprule
S-value & \multicolumn{4}{c}{Result}\\
\midrule
s1      & $\varnothing$ & $\varnothing$ & $\varnothing$ & $\varnothing$\\
s2      & a2 & b2 & &\\
s3      & a3 & b3 & c3 & d3\\
s4      & a4 & b4 & c4 & d4\\
\bottomrule
\end{tabular}
\end{table}

\end{document}

앞으로는 사용된 모든 패키지(이 경우 multirowamssymb)를 포함하는 전체 예제를 게시해 주세요.

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

답변2

질문이 이해가 잘 안가는데 이런게 있나요?

\documentclass{article}
\usepackage{multirow}
\usepackage{amsmath,amssymb}

\begin{document}
\begin{center}\begin{tabular}{|c|c|c|c|}
  \hline
  \multicolumn{4}{|c|}{\bf title}\\
  \hline \hline
  \bf s1 & \bf s2 & \bf s3 & \bf s4\\
  \hline \hline
  \multirow{4}{*}{$\varnothing$} & \multirow{2}{*}{a2} & a3 & a4\\
  & & b3 & b4\\
  & \multirow{2}{*}{b2} & c3 & c4\\
  & & d3 &\\
  \hline
\end{tabular}\label{table}\end{center}
\end{document}

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

제안된 솔루션은 원본 테이블에 추가된 새 행에 따라 조정되어야 합니다. 5행으로 확장할 경우 multirow네 번째 열에만 적용할 수 있으며, 두 번째 열은 잘못 배치된 일반 셀로 구성됩니다.

\documentclass{article}
\usepackage{multirow}
\usepackage{amsmath,amssymb}

\begin{document}
\begin{center}\begin{tabular}{|c|c|c|c|}
  \hline
  \multicolumn{4}{|c|}{\bf title}\\
  \hline \hline
  \bf s1 & \bf s2 & \bf s3 & \bf s4\\
  \hline \hline
  \multirow{5}{*}{$\varnothing$} &  & a3 & \multirow{2}{*}{a4}\\
  & a2 & b3 & \\
  & & c3 & b4\\
  & b2 & d3 &\multirow{2}{*}{c4}\\
  & & e3 &\\
  \hline
\end{tabular}\label{table}\end{center}
\end{document}

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

관련 정보