如何将放置在 longtabu 中的小页面的内容置于中心位置?
我的迷你页面看起来像这样,可以在网上找到这里:
\begin{minipage}{0.3cm}\tiny{\textbf{T\\e\\x\\t}}\end{minipage}
这是问题的图片。我希望字母居中,而不是左对齐。
\documentclass[danish,a4paper,twoside,11pt]{memoir}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{fix-cm}
\usepackage{xcolor}
\usepackage{tabu}
\usepackage{longtable}
\usepackage{enumitem}
\usepackage{multirow}
\usepackage{color, colortbl}
\usepackage{amssymb}
\usepackage{diagbox}
\definecolor{Gray}{gray}{0.9}
\setlrmarginsandblock{3.5cm}{2.5cm}{*}
\setulmarginsandblock{3cm}{*}{1.2}
\checkandfixthelayout[nearest]
\renewcommand{\arraystretch}{1.5}
\begin{document}
\newcolumntype{g}{>{\columncolor{Gray}}X[c]}
\begin{longtabu}{| p{4.2cm} | X[c] | g | g | X[c] | X[c] | g | g | X[c] | X[c] | g | g |}
\hline \multicolumn{12}{|c|}{\large{Arkitekturvægtning af \textit{use case} 3, 4 og 5}}\\
\hline \multirow{2}{*}{\begin{minipage}{3cm}\textbf{Kvalitetsattribut}\end{minipage}} &
\multirow{2}{*}{
\begin{minipage}{0.3cm}
\tiny\textbf{V\\æ\\g\\t}
\end{minipage}}
& \multicolumn{2}{|c|}{\cellcolor{Gray}\textbf{BP\textsubscript{ED}}} & \multicolumn{2}{|c|}{\textbf{BP\textsubscript{DDG}}} & \multicolumn{2}{|c|}{\cellcolor{Gray}\textbf{BP\textsubscript{AED}}} & \multicolumn{2}{|c|}{\textbf{BP\textsubscript{LDS}}} & \multicolumn{2}{|c|}{\cellcolor{Gray}\textbf{BP\textsubscript{S}}} \\
\cline{3-12} & & \tiny Point & \tiny Score & \tiny Point & \tiny Score & \tiny Point & \tiny Score & \tiny Point & \tiny Score & \tiny Point & \tiny Score\\
\tabucline[1.3pt]{-}
\end{longtabu}
\end{document}
答案1
您不需要嵌套minipage
,或者只需在现有的指定列宽度内tabular
使用即可。我还删除了所有左手规则(您只应在第一列中使用左手规则,否则多列规则将不会与主表序言中的规则对齐。我还隐藏了宽度,因此它们渗入列填充并保持居中,而不是过满并突出在右侧,\centering
\multicolumn
Score
Point
\documentclass[danish,a4paper,twoside,11pt]{memoir}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{fix-cm}
\usepackage{xcolor}
\usepackage{tabu}
\usepackage{longtable}
\usepackage{enumitem}
\usepackage{multirow}
\usepackage{color, colortbl}
\usepackage{amssymb}
\usepackage{diagbox}
\definecolor{Gray}{gray}{0.9}
\setlrmarginsandblock{3.5cm}{2.5cm}{*}
\setulmarginsandblock{3cm}{*}{1.2}
\checkandfixthelayout[nearest]
\renewcommand{\arraystretch}{1.5}
\begin{document}
\newcolumntype{g}{>{\columncolor{Gray}}X[c]}
\begin{longtabu}{| p{4.2cm} | X[c] | g | g | X[c] | X[c] | g | g | X[c] | X[c] | g | g |}
\hline
\multicolumn{12}{|c|}{%
\large Arkitekturvægtning af \textit{use case} 3, 4 og 5}\\
\hline
\multirow{2}{\hsize}{\bfseries Kvalitetsattribut} &
\multirow{2}{\hsize}{{\centering\tiny\bfseries
V\endgraf æ\endgraf g\endgraf}}
& \multicolumn{2}{c|}{\cellcolor{Gray}\textbf{BP\textsubscript{ED}}} &
\multicolumn{2}{c|}{\textbf{BP\textsubscript{DDG}}} &
\multicolumn{2}{c|}{\cellcolor{Gray}\textbf{BP\textsubscript{AED}}} &
\multicolumn{2}{c|}{\textbf{BP\textsubscript{LDS}}} &
\multicolumn{2}{c|}{\cellcolor{Gray}\textbf{BP\textsubscript{S}}} \\
\cline{3-12} & &
\tiny \makebox[0pt]{Point} &
\tiny \makebox[0pt]{Score} &
\tiny \makebox[0pt]{Point} &
\tiny \makebox[0pt]{Score} &
\tiny \makebox[0pt]{Point} &
\tiny \makebox[0pt]{Score} &
\tiny \makebox[0pt]{Point} &
\tiny \makebox[0pt]{Score} &
\tiny \makebox[0pt]{Point} &
\tiny \makebox[0pt]{Score}\\
\tabucline[1.3pt]{-}
\end{longtabu}
\end{document}
答案2
我无法编辑您的原始代码,因此我尝试从头开始构建您的表格,这就是我发现的。我在您想要垂直排序的部分内构建了另一个表格,代码如下:
\begin{tabular}{c}
V\\[-5mm]
ae\\[-5mm]
g\\[-5mm]
t
\end{tabular}
如您所见,主表内的四行表带有居中对齐的文本,将显示您想要的内容。(在此之前,我从不知道我可以在其他表内放置表。)您可以通过更改为 或 来使它们左对齐或右对齐\begin{tabular}{c}
。\begin{tabular}{l}
请\begin{tabular}{r}
注意,您应该处理此内部表的行之间的垂直间距以显示您想要的内容。我选择了垂直间距以[-5mm]
使行彼此更接近。请添加其他包以根据需要修复语言或表格的颜色。
%pdflatex
\documentclass[margin=2mm]{standalone}
\usepackage{array}
\usepackage{multirow}
\begin{document}
\setlength\extrarowheight{12pt}
\begin{tabular}{@{\extracolsep{\fill}}|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
\multicolumn{12}{|c|}{\large{Arkitekturvægtning af \textit{use case} 3, 4 og 5}}\\[4pt]
\hline
\multirow{2}{*}[-1.5mm]{Kvalitetsattribut} & \multirow{2}{*}{
\begin{tabular}{c}
V\\[-5mm]
ae\\[-5mm]
g\\[-5mm]
t
\end{tabular}
} & \multicolumn{2}{c|}{BPED} & \multicolumn{2}{c|}{BPDDG} & \multicolumn{2}{c|}{BPAED} &\multicolumn{2}{c|}{BPLDS} &\multicolumn{2}{c|}{BPS}\\[6pt]
\cline{3-12}
& & Point & Score & Point & Score & Point & Score & Point & Score & Point & Score\\[4pt]
\hline
\end{tabular}
\end{document}