किसी तालिका में मल्टीरो और मल्टीकॉल्यूम का उपयोग करते समय टूटी हुई क्षैतिज और ऊर्ध्वाधर रेखाओं से कैसे बचें

Aug 17 2020

मेरे पास एक मेज है जिसे मुझे एक पेपर में डालने की आवश्यकता है। क्षैतिज और ऊर्ध्वाधर रेखाएं टूटी हुई रेखाएं हैं, लेकिन मेरे पर्यवेक्षक ने मुझे बंद लाइनें लगाने के लिए कहा। मैं इसे ठीक नहीं कर पा रहा हूं।

\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 Aug 17 2020 at 13:17

इस कदर?

\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}