我有这个代码:
\documentclass{standalone}
\usepackage{multirow}
\usepackage{musixtex}
\usepackage{graphicx}
\begin{document}
\begin{tabular}[c]{|c|c|c|c|c|c|}
\hline
Type & Qualification & Notes & Graphie & Nbr de demi-tons & Nbr de
demi-tons diatonique\\
\hline
\multirow{5}{*}{Seconde} & Majeur & Do~-~Ré &
\hspace{-100pt}
\scalebox{0.7}{
\begin{music}
\nobarnumbers
\setclef10
\startextract
\notes \qa c \qa d \en
\endextract
\end{music}}
\hspace{-100pt}
& 2 & 0\\
\cline{2-6}
& Majeur & Ré~-~Mi &
\hspace{-100pt}
\scalebox{0.7}{
\begin{music}
\nobarnumbers
\setclef10
\startextract
\notes \qa d \qa e \en
\endextract
\end{music}}
\hspace{-100pt}
& 2 & 0\\
\cline{2-6}
& Mineur & Mi~-~Fa &
\hspace{-100pt}
\scalebox{0.7}{
\begin{music}
\nobarnumbers
\setclef10
\startextract
\notes \qa e \qa f \en
\endextract
\end{music}}
\hspace{-100pt}
& 1 & 1\\
\cline{2-6}
& Majeur & Fa~-~Sol &
\hspace{-100pt}
\scalebox{0.7}{
\begin{music}
\nobarnumbers
\setclef10
\startextract
\notes \qa f \qa g \en
\endextract
\end{music}}
\hspace{-100pt}
& 2 & 0\\
\cline{2-6}
& Majeur & Sol~-~La &
\hspace{-100pt}
\scalebox{0.7}{
\begin{music}
\nobarnumbers
\setclef10
\startextract
\notes \qa g \qa h \en
\endextract
\end{music}}
\hspace{-100pt}
& 2 & 0\\
\hline
\end{tabular}
\end{document}
我们可以看到,在这个表格中,文本不是垂直居中的。我看到过其他类似的问题,但它们总是使用p{...}
、m{...}
或b{...}
参数。我试过这个,它垂直居中,但不再水平居中,而且第一行的高度更大。
那么,如何才能使所有内容水平和垂直居中,同时保持第一行的大小相同?
答案1
像这样?
使用包adjustbox
并定义新命令以获得更短的代码:
\documentclass[margin=3mm]{standalone}
\usepackage{multirow}
\usepackage{musixtex}
\usepackage{adjustbox}
\newcommand\MusiC[1]{\adjustbox{trim=145pt 0pt 140pt 0pt, valign=c}%
{\begin{music}
\nobarnumbers
\setclef10
\startextract
\notes #1
\endextract
\end{music}}
}
\begin{document}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
Type & Qualification & Notes & Graphie & Nbr de demi-tons & Nbr de
demi-tons diatonique\\
\hline
\multirow{18}{*}{Seconde}
& Majeur & Do~-~Ré & \MusiC{\qa c \qa d \en} & 2 & 0\\
\cline{2-6}
& Majeur & Ré~-~Mi & \MusiC{\qa d \qa e \en} & 2 & 0\\
\cline{2-6}
& Mineur & Mi~-~Fa & \MusiC{\qa e \qa f \en} & 1 & 1\\
\cline{2-6}
& Majeur & Fa~-~Sol & \MusiC{\qa f \qa g \en} & 2 & 0\\
\cline{2-6}
& Majeur & Sol~-~La & \MusiC{\qa g \qa h \en} & 2 & 0\\
\hline
\end{tabular}
\end{document}