나는 각 사각형의 내부 텍스트가 \tabular
사용 가능한 전체 공간을 채우도록 노력하고 있습니다. 예를 들어, 아래 표에서 column
c2와 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}
앞으로는 사용된 모든 패키지(이 경우 multirow
및 amssymb
)를 포함하는 전체 예제를 게시해 주세요.
답변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}