我正在babel
环境中准备一个表格。一切都很好,除了我在表格中创建了一个多行列。我已将其用于\shortstack
多行居中对齐文本。
\documentclass{memoir}
\usepackage[english]{babel}
\babelprovide[import, onchar = fonts ids]{bengali}
\babelfont[bengali]{rm}[Renderer=Harfbuzz,AutoFakeBold,AutoFakeSlant=0.3]{Kalpurush}
\babelcharproperty{`।}{locale}{bengali}
\babelprovide[maparabic,alph=alphabetic]{bengali}
\begin{document}
\begin{table}[!htbp]
\centering
\begin{tabular}{*4c c}
\toprule
কলাম ১ & \multicolumn{2}{c}{কলাম ২} & কলাম ৩ & \shortstack{কলাম ৪\\ লম্বার টেক্সট} \\
\midrule
১ & ১২ & ১৪ & ১৬৮ & ১\\
২ & ১১ & ১৫ & ১৬৫ & ২\\
৩ & ১০ & ১৬ & ১৬০ & ৩\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
图中用黄色标记标识了新问题。我打算将这些列垂直和水平居中。如何实现?有什么想法吗?
答案1
我不太熟悉\shortstack
宏的所有属性。但似乎使用普通tabular
环境可以解决您的格式问题。
\documentclass{memoir}
\usepackage[english]{babel}
\babelprovide[import, onchar = fonts ids]{bengali}
\babelfont[bengali]{rm}[Renderer=Harfbuzz,AutoFakeBold,AutoFakeSlant=0.3]{Kalpurush}
\babelcharproperty{`।}{locale}{bengali}
\babelprovide[maparabic,alph=alphabetic]{bengali}
% define a wrapper macro for the 'tabular' environment:
\newcommand\mytab[1]{\begin{tabular}{@{}c@{}} #1 \end{tabular}}
\begin{document}
\begin{table}[!htbp]
\centering
\begin{tabular}{@{} ccccc @{}}
\toprule
কলাম ১ & \multicolumn{2}{c}{কলাম ২} & কলাম ৩ & \mytab{কলাম ৪\\ লম্বার টেক্সট} \\
\midrule
১ & ১২ & ১৪ & ১৬৮ & ১\\
২ & ১১ & ১৫ & ১৬৫ & ২\\
৩ & ১০ & ১৬ & ১৬০ & ৩\\
\bottomrule
\end{tabular}
\end{table}
\end{document}