我是 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}