적절한 다중 열 간격

적절한 다중 열 간격

간단한 문제가 발생했지만 이에 대한 해결책을 찾을 수 없습니다. 행의 모든 ​​요소가 동일한 너비를 갖는 행렬을 만들고 싶습니다. 이와 같이:

테이블의 기준

내 접근 방식은 12개 열(+1 초기 열)과 여러 열로 작업하는 것이었습니다. 내가 겪는 문제는 행이 이 그림과 같은 너비로 조정되지 않는다는 것입니다.

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

이 질문에서와 같이 tabularx를 시도했지만 원하는 대로 작동하지 않았습니다. (12배 X를 헤더로 사용)표 간격, 다중 열

누군가 tabularx가 작동하지 않는다는 오류가 어디에 있는지 설명해 줄 수 있나요?

간단한 테이블 환경을 위한 코드

\documentclass{article}
\begin{document}
\begin{table}[h]
\begin{tabular}{|c|cllcclclccll|}
\hline
N & \multicolumn{12}{c|}{Chance}                                                                                  \\ \hline
1 & \multicolumn{12}{c|}{100}                                                                                     \\ \hline
2 & \multicolumn{6}{c|}{50}                               & \multicolumn{6}{c|}{50}                               \\ \hline
3 & \multicolumn{4}{c|}{22}             & \multicolumn{4}{c|}{56}            & \multicolumn{4}{c|}{22}            \\ \hline
4 & \multicolumn{3}{c|}{12.5} & \multicolumn{3}{c|}{37.5} & \multicolumn{3}{c|}{37.5} & \multicolumn{3}{c|}{12.5} \\ \hline
\end{tabular}
\end{table}
\end{document}

답변1

고정 너비 열의 경우:

\documentclass{article}
\usepackage{array}

\newlength{\blockwidth}

\begin{document}

\begin{table}[htp]
\centering

% local settings
\setlength{\blockwidth}{0.5cm}
\newcommand{\block}[2]{% #1 = number of blocks to span, #2 = text
  \multicolumn{#1}{w{c}{\dimeval{#1\blockwidth+10\arrayrulewidth*\f{#1}/#1}}|}{#2}%
}
\newcommand{\f}[1]{\inteval{4*(#1-3)}}
%%%

\begin{tabular}{|>{$\vphantom{\bigg|}}c<{$}|*{12}{c}}
\hline
N & \block{12}{Chance} \\ \hline
1 & \block{12}{100} \\ \hline
2 & \block{6}{50} & \block{6}{50} \\ \hline
3 & \block{4}{22} & \block{4}{56} & \block{4}{22} \\ \hline
4 & \block{3}{12.5} & \block{3}{37.5} & \block{3}{37.5} & \block{3}{12.5} \\ \hline
\end{tabular}

\caption{A caption}

\end{table}

\end{document}

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

아마도 Ti일 겁니다.케이이 경우에는 Z 기반 접근 방식이 더 좋습니다. 아니면 테이블보다는 나무일 수도 있습니다.

답변2

재미로:

\multicolumn모든 "추가" 공간은 사용된 마지막 열에 배치되며 이러한 열 중 상당수는 개별적으로 사용되지 않습니다.

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}[h]
\begin{tabularx}{\textwidth}{|c|XXXXXXXXXXXX|}
\hline
 &&&&&&&&&&&& \\[-\normalbaselineskip]% hidden
N & \multicolumn{12}{c|}{Chance}                                                                                  \\ \hline
1 & \multicolumn{12}{c|}{100}                                                                                     \\ \hline
2 & \multicolumn{6}{c|}{50}                               & \multicolumn{6}{c|}{50}                               \\ \hline
3 & \multicolumn{4}{c|}{22}             & \multicolumn{4}{c|}{56}            & \multicolumn{4}{c|}{22}            \\ \hline
4 & \multicolumn{3}{c|}{12.5} & \multicolumn{3}{c|}{37.5} & \multicolumn{3}{c|}{37.5} & \multicolumn{3}{c|}{12.5} \\ \hline
\end{tabularx}
\end{table}
\end{document}

답변3

이것이 무슨 뜻인지 잘 모르겠지만 상자의 크기가 숫자에 비례하도록 하려면 Ti를 사용할 수 있습니다.케이chains. 기본적으로 첫 번째 열은 아래로 가는 체인이고 n, 번호가 매겨진 각 행은 오른쪽으로 가는 체인입니다. 오류 검사가 없으므로 행이 100보다 짧거나 길어질 수 있습니다.

값을 변경하여 \widthfactor테이블 너비를 조정할 수 있습니다.

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

Ti를 설정할 수 있는 선택적 인수도 있습니다.케이전체 테이블에 대한 Z 옵션은 다음과 같습니다.

\chancetable[thick, orange, text=blue]{{100},{50,50},{22,56,22},{12.5,37.5,37.5,12.5}}

작동 할 것이다.

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{chains}
\newcommand{\widthfactor}{1}

\tikzset{rect/.style={draw, minimum width=#1, minimum height=5mm, inner sep=0pt}}

\newcommand{\chancetable}[2][]{\tikz[node distance=-\pgflinewidth, #1]{
    \node[rect=\widthfactor*5mm, start chain=n going below](N0){N}; \node[rect=\widthfactor*100mm, right=of N0]{Chance};
    \foreach \r[count=\n, evaluate=\n as \k using {int(\n-1)}] in {#2} {
        \node[rect=\widthfactor*5mm, below=of N\k, start chain=\n, on chain=\n](N\n){\n};
        \foreach \p in \r {\node[on chain=\n, rect=\widthfactor*\p mm]{\p};} 
    }
}}

\begin{document}

\chancetable{{100},{50,50},{22,56,22},{12.5,37.5,37.5,12.5}}

\end{document}

관련 정보