我有左边的表格,而我想要的是右边的表格。
也就是说,将表格单元格分布或跨越整个minipage
环境。
我怎么做?
代码:
% !TEX TS-program = xelatex
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\newfontfamily\englishfont{Arial}[Script=Latin,Language=English]
\begin{document}
\begin{minipage}[b][14cm][t]{10cm}
\begin{tabularx}{\textwidth} {
| >{\centering\arraybackslash}X |
}
\hline
item 1 \\
\hline
item 2 \\
\hline
item 3 \\
\hline
item 4 \\
\hline
item 5 \\
\hline
item 6 \\
\hline
item 7 \\
\hline
\end{tabularx}
\end{minipage}
\end{document}
答案1
这是另一种解决方案tabularray
tblr
包:您可以在环境中轻松设置行高:
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularray}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\newfontfamily\englishfont{Arial}[Script=Latin,Language=English]
\begin{document}
\begin{tblr}{width=10cm,colspec={X[c]},rows={ht=2cm},hlines,vlines}
item 1 \\
item 2 \\
item 3 \\
item 4 \\
item 5 \\
item 6 \\
item 7 \\
\end{tblr}
\newcommand*\getrowht[1]{%
\dimexpr
(
#1
- 4pt * \value{rowcount} % rowsep sizes
- 0.4pt * (\value{rowcount} + 1) % hrule sizes
) / \value{rowcount}
\relax
}
\begin{tblr}{
width=10cm,colspec={X[c]},hlines,vlines,
rows={ht=\getrowht{14cm}}
}
item 1 \\
item 2 \\
item 3 \\
item 4 \\
item 5 \\
item 6 \\
item 7 \\
\end{tblr}
\end{document}