multirow (2) teks tengah vertikal

Aug 16 2020

MWE:

\documentclass{standalone}
\usepackage{booktabs}
\usepackage{multirow}

\begin{document}

\begin{tabular}{@{}l|llll@{}}
\toprule
\multicolumn{1}{c|}{\multirow{2}{*}{Test}} & \multicolumn{4}{c}{A} \\ \cmidrule(l){2-5} 
\multicolumn{1}{c|}{}                      & 1   & 2   & 3   & 4   \\ \midrule
                                           &     &     &     &     \\
                                           &     &     &     &     \\ \bottomrule
\end{tabular}

\end{document}

Keluaran:

Lihat ini , ini . Di suatu tempat, saya harus menggunakan makecellatau m, tetapi tidak bisa memahami. Setiap bantuan dalam membuat "Test" sejajar vertikal.

Jawaban

4 F.Pantigny Aug 16 2020 at 00:40

Berikut adalah apa yang dapat Anda lakukan dengan {NiceTabular}dari nicematrix(dengan versi terbaru 5.4 dari 2020/10/06).

\documentclass{article}
\usepackage{booktabs}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{@{}l|llll@{}}
\toprule
\Block{2-1}{Test} & \Block{1-4}{A} \\ \cmidrule(l){2-5} 
                  & 1   & 2   & 3   & 4   \\ \midrule
                  &     &     &     &     \\
                  &     &     &     &     \\ \bottomrule
\end{NiceTabular}

\end{document}
  • Di {NiceTabular}, Anda gunakan \Blockuntuk menggabungkan sel secara vertikal dan horizontal.

  • Isi blok disusun di pusat mathemtatical dari persegi panjang sel yang digabungkan (tidak seperti dengan \multirow).

  • Aturan vertikal tidak dilanggar dan dengan demikian, kompatibel dengan booktabs(tetapi Anda harus menyadari bahwa penggunaan aturan vertikal sama sekali tidak sesuai dengan semangat booktabs).

  • Anda memerlukan beberapa kompilasi (karena nicematrixmenggunakan node PGF / Tikz).

3 jsbibra Aug 16 2020 at 00:23

Hindari vertikal untuk dampak yang lebih baik dan masalah dengan celah

The \multirowpilihan dapat diubah ke nilai desimal untuk lebih halus up-down penyesuaian / berpusat - di sini berubah menjadi nilai 2,4

\documentclass{article}
\usepackage{booktabs}
\usepackage{multirow}

\begin{document}
\begin{table}[]
\begin{tabular}{@{}lllll@{}}                                      \toprule                    
\multirow{2.4}{*}{Test}         & \multicolumn{4}{c}{A}                 \\ \cmidrule(l){2-5}   
                                & 1                     & 2   & 3   & 4 \\ \midrule
                                & X                     & Y   & Z   & A \\
                                & P                     & Q   & R   & S \\ \bottomrule 
\end{tabular}
\end{table}

\end{document}