테이블에서 여러 행 및 여러 열을 사용할 때 끊어진 가로줄과 세로줄을 피하는 방법
종이에 놓아야 할 테이블이 있습니다. 가로선과 세로선은 파선이지만 상사가 나에게 닫힌 선을 요청했습니다. 나는 그것을 고칠 수 없습니다.
\usepackage{tabularx}
\begin{table}[h]
\centering
\caption{my table with broken lines}
\resizebox{\textwidth}{!}{%
\begin{tabular}{@{}|c|c|c|c|c|c|@{}}
\toprule
\multirow{3}{*}{A} & \multirow{3}{*}{B} & \multicolumn{4}{|c|}{M} \\ \cmidrule(l){3-6}
& & \multicolumn{2}{|c|}{C} & \multicolumn{2}{|c|}{D} \\ \cmidrule(l){3-6}
& & \multicolumn{1}{|c|}{e} & \multicolumn{1}{|c|}{f} & \multicolumn{1}{|c|}{e} & \multicolumn{1}{|c|}{f} \\ \midrule
\multicolumn{1}{|c|}{1} & \multicolumn{1}{|c|}{a} & \multicolumn{1}{|c|}{\multirow{4}{*}{100}} & \multicolumn{1}{|c|}{91.02} & \multicolumn{1}{|c|}{\multirow{4}{*}{90}} & \multicolumn{1}{|c|}{209.2} \\ \cmidrule(r){1-2} \cmidrule(lr){4-4} \cmidrule(l){6-6}
\multicolumn{1}{|c|}{2} & \multicolumn{1}{|c|}{b} & \multicolumn{1}{|c|}{} & \multicolumn{1}{|c|}{133.83} & \multicolumn{1}{|c|}{} & \multicolumn{1}{|c|}{239.66} \\ \cmidrule(r){1-2} \cmidrule(lr){4-4} \cmidrule(l){6-6}
\multicolumn{1}{|c|}{3} & \multicolumn{1}{|c|}{b} & \multicolumn{1}{|c|}{} & \multicolumn{1}{|c|}{159.73} & \multicolumn{1}{|c|}{} & \multicolumn{1}{|c|}{373.47} \\ \cmidrule(r){1-2} \cmidrule(lr){4-4} \cmidrule(l){6-6}
4 & \multicolumn{1}{|c|}{c} & \multicolumn{1}{c|}{} & \multicolumn{1}{|c|}{144.1} & \multicolumn{1}{|c|}{} & 317.01 \\ \bottomrule
\end{tabular}
}
\label{tbl:lbl1}
\end{table}
이렇게 보입니다.
답변
2 Zarko
이렇게?
\documentclass{article}
\usepackage{makecell, multirow}
\begin{document}
\begin{table}[h]
\centering
\setcellgapes{3pt}
\makegapedcells
\caption{my table with broken lines}
\label{tbl:lbl1}
\begin{tabular}{|*{6}{c|}}
\Xhline{1pt}
\multirow{3.4}{*}{A}
& \multirow{3.4}{*}{B}
& \multicolumn{4}{c|}{M} \\
\cline{3-6}
& & \multicolumn{2}{c|}{C}
& \multicolumn{2}{c|}{D} \\
\cline{3-6}
& & e & f & e & f \\
\hline
1 & a & \multirow{4.5}{*}{100}
& 91.02 & \multirow{4.5}{*}{90}
& 209.2 \\
\cline{1-2} \cline{4-4} \cline{6-6}
2 & b & & 133.83 & & 239.66 \\
\cline{1-2} \cline{4-4} \cline{6-6}
3 & b & & 159.73 & & 373.47 \\
\cline{1-2} \cline{4-4} \cline{6-6}
4 & c & & 144.1 & & 317.01 \\
\Xhline{1pt}
\end{tabular}
\end{table}
\end{document}
또는 테이블 환경을 \textwidth
사용할 수있는 것보다 넓은 테이블을 원하는 경우 tabularx
(권장되지 않음) :
\documentclass{article}
\usepackage{makecell, multirow, tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}[h]
\centering
\setcellgapes{3pt}
\makegapedcells
\caption{my table with broken lines}
\label{tbl:lbl1}
\begin{tabularx}{\linewidth}{|*{6}{C|}}
\Xhline{1pt}
\multirow{4}{*}{A}
& \multirow{4}{*}{B}
& \multicolumn{4}{c|}{M} \\
\cline{3-6}
& & \multicolumn{2}{c|}{C}
& \multicolumn{2}{c|}{D} \\
\cline{3-6}
& & e & f & e & f \\
\hline
1 & a & \multirow{5.5}{=}{\centering 100}
& 91.02 & \multirow{5.5}{=}{\centering 90}
& 209.2 \\
\cline{1-2} \cline{4-4} \cline{6-6}
2 & b & & 133.83 & & 239.66 \\
\cline{1-2} \cline{4-4} \cline{6-6}
3 & b & & 159.73 & & 373.47 \\
\cline{1-2} \cline{4-4} \cline{6-6}
4 & c & & 144.1 & & 317.01 \\
\Xhline{1pt}
\end{tabularx}
\end{table}
\end{document}