表格单元格居中对齐问题

表格单元格居中对齐问题

我正在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}

相关内容