四列表格中文本的不同垂直对齐方式(tabularx)

四列表格中文本的不同垂直对齐方式(tabularx)

我是 TeX 的新手,所以我决定寻求一些帮助。

我正在为工作编写技术文档,我需要创建一个 4 列表格,其中前两列的文本顶部对齐并水平居中,后两列与第二列的最后一行对齐。但我无法实现这一点。

我尝试过这个:将文本与表格单元格底部对齐

和这个:高度可变的表格单元格中的垂直对齐

但我能得到的最接近的结果是:

在此处输入图片描述

因此,最后三列是可以的,但第一列不行,它应该是顶部对齐。

我成功地通过使用\multirow环境克服了这个问题,但它应该单独实现到行。如果我对长表这样做 - 它会让我发疯。如果可能的话,我希望在序言中有一个固定的样式。

这是我的主体表格:

    %russian technichal standart documentation class
     \documentclass[russian, 14pt, utf8, columnsxxiv, columnxxxi, columnxxxii, pointsection, hpadding = 10mm]{eskdtext}

     %%%For working of eskdx, also cyrillic
     \usepackage{xecyr}

     %%%set TNR as main font
     \setmainfont[Mapping=tex-text]{Times New Roman}

     %%%Additional position options
     \usepackage{float}

     %%%advanced tables
     \usepackage{tabularx}
     \newcolumntype{Y}{>{\centering\arraybackslash}X}      
     \newcolumntype{d}{>{\centering}b{.25\textwidth}}
     \newcolumntype{s}{>{\centering}b{.1\textwidth}}
     \newcolumntype{a}{>{\centering}p{.25\textwidth}}

     %%%redefine command for № -symbol, because eskdx quite old package
     \renewcommand{\No}{\textnumero}

     \begin{document}

     \begin{table}[H]
     \label{appA}
     \begin{tabularx}{\textwidth}{a|d|s|Y}
     \hline 
     Наименование & Основные технические данные & Кол., шт. & Примечание  \\ 
     \hline
     text text text text text text text & text text text text text text text text text text& {1} & text  \\ 
     \end{tabularx} 
     \end{table}

     \end{document}

我将非常感激您的帮助!

答案1

据我理解您的要求,以下方法可以解决问题(抱歉拉丁字符不能很好地表示俄语):

\documentclass{article}

\usepackage{tabularx}
      \newcolumntype{Y}{>{\centering\arraybackslash}X} 
      \newcolumntype{d}{>{\centering}b{.25\textwidth}}
      \newcolumntype{s}{>{\centering}b{.1\textwidth}}
      \newcolumntype{a}{>{\centering}p{.25\textwidth}}
    \newcolumntype{c}{>{\centering}b{.25\textwidth}<{\vfill}}
\begin{document}

\begin{table}
     \label{appA}
 %    \begin{tabularx}{\textwidth}{a|d|s|Y}
    \begin{tabularx}{\textwidth}{c|d|s|Y}
     \hline 
     Naimenovanije& Osnovnyje tehniceskije dannyje & Kol.,   &sht. Primechanije  \\ 
     \hline
     text text text text text text text & text text text text text text text 
     text text text & {1} & text  \\ 
     \hline
     \end{tabularx} 
     \end{table}



\end{document}

在此处输入图片描述

答案2

您可以通过后退一行来避免“手动”断开段落的最后一行;

  %russian technichal standart documentation class
     \documentclass[russian, 14pt, utf8, columnsxxiv, columnxxxi, columnxxxii, pointsection, hpadding = 10mm]{eskdtext}

     %%%For working of eskdx, also cyrillic
     \usepackage{xecyr}

     %%%for fonts
% don't use these     \usepackage{xunicode,xltxtra}

%  this is already loaded     \usepackage{fontspec}

    \def\No{???}% undefined command in MWE 

     %%%set TNR as main font
     \setmainfont[Mapping=tex-text]{Times New Roman}

     %%%Additional position options
     \usepackage{float}

     %%%advanced tables
     \usepackage{tabularx}
     \newcolumntype{Y}{>{\centering\arraybackslash}X} %%% центрированный тип блока          ячейки для tabularx
     \newcolumntype{d}{>{\centering}p{.25\textwidth}}
     \newcolumntype{s}{>{\centering}p{.1\textwidth}}
     \newcolumntype{a}{>{\centering}p{.25\textwidth}}

     \begin{document}

     \begin{table}[H]
     \label{appA}
     \begin{tabularx}{\textwidth}{a|d|s|Y}
     \hline 
     Наименование & Основные технические данные & Кол., шт. & Примечание  \\ 
     \hline
     text text text text text text text & text text text text text text text text text text&&\\[-\normalbaselineskip]
     && {1} & text  \\ 
     \end{tabularx} 
     \end{table}

     \end{document}

相关内容