Bagaimana menghindari putusnya garis horizontal dan vertikal saat menggunakan multirow dan multicolumn dalam sebuah tabel
Aug 17 2020
Saya memiliki meja yang harus saya taruh di kertas. Garis horizontal dan vertikal adalah garis putus-putus tetapi atasan saya meminta saya untuk menutup garis. Saya tidak bisa memperbaikinya.
\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}
Tampak seperti ini.

Jawaban
2 Zarko Aug 17 2020 at 13:17
Seperti ini?

\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}
atau jika Anda ingin memiliki tabel seluas \textwidth
, daripada Anda dapat menggunakan tabularx
lingkungan tabel (tidak disarankan):

\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}
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'