这可能是之前在某个地方出现过的问题,但我还没有找到全面的解决方案。如何创建具有自定义行高(例如 5 厘米)、垂直居中和水平居中的表格。非常感谢!
P/S:我曾经使用过\newcolumntype
但我只能修改列的属性:
例子:
\documentclass{article}
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{document}
\begin{tabular}{| c | L{3cm} | C{3cm} | R{3cm} |}
content
\end{tabular}
\end{document}
答案1
只是表格,标题单元格右下角没有符号,tabularray
也有包。从有趣的@Imran 回答 (+1) 来看,它的不同之处在于:
- 表格设计
- 确定桌子规格的方法
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\begin{document}
\noindent%
\begin{tblr}{hline{1,Z}=1pt, hline{2}=0.6pt, hline{3-Y}=0.2pt,
vlines,
rows = {4\baselineskip, font=\sffamily},
row{1} = {bg=azure8, fg=white, font=\bfseries},
colspec = {X[1,c] X[2,l] X[4,l] X[2,c, si={table-format=3.0}]},
}
Order & Date & Product & {{{Qty}}} \\
%
1001 & 1-May & Arrowroot & 5 \\
1002 & 2-May & Bran & 20 \\
1003 & 3-May & Chocolate Chip & 80 \\
1004 & 4-May & Oatmeal Raisin & 240 \\
\end{tblr}
\end{document}
编辑: 不清楚你的意思是什么属性。标题单元格右下角有符号?可以在单元格中绘制它,但实现它们的功能(例如:打开窗口,您可以在其中选择单元格中的内容)则是另一回事。对于这一点,LaTeX 不是合适的工具。
附录(1):
如果您希望在每一页上都有长表格标题和列标题,则应使用longtblr
环境:
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\begin{document}
\DefTblrTemplate{contfoot-text}{normal}{\scriptsize\textit{Continued on the next page}}
\SetTblrTemplate{contfoot-text}{normal}
\noindent%
\begin{longtblr}[
caption = {Caption text if any (caption label is always presented)},
label = {tab:lontblr}
]{
rowhead=1,
hline{1,Z}=1pt, hline{2}=0.6pt, hline{3-Y}=0.2pt,
vlines,
rows = {4\baselineskip, font=\sffamily},
row{1} = {bg=azure8, fg=white, font=\bfseries},
colspec = {X[1,c] X[2,l] X[4,l] X[2,c, si={table-format=3.0}]},
}
Order & Date & Product & {{{Qty}}} \\
%
1001 & 1-May & Arrowroot & 5 \\
1002 & 2-May & Bran & 20 \\
1003 & 3-May & Chocolate Chip & 80 \\
1004 & 4-May & Oatmeal Raisin & 240 \\
%
1001 & 1-May & Arrowroot & 5 \\
1002 & 2-May & Bran & 20 \\
1003 & 3-May & Chocolate Chip & 80 \\
1004 & 4-May & Oatmeal Raisin & 240 \\
%
1001 & 1-May & Arrowroot & 5 \\
1002 & 2-May & Bran & 20 \\
1003 & 3-May & Chocolate Chip & 80 \\
1004 & 4-May & Oatmeal Raisin & 240 \\
%
1001 & 1-May & Arrowroot & 5 \\
1002 & 2-May & Bran & 20 \\
1003 & 3-May & Chocolate Chip & 80 \\
1004 & 4-May & Oatmeal Raisin & 240 \\
\end{longtblr}
\end{document}
附录(2): 在这种情况下,当您不喜欢有标题时,请在表格前添加:
\DefTblrTemplate{firsthead, middlehead,lasthead}{default}{}
然后删除可选的表格规范(因为它们不再有意义)。因此,您的案例中完整的表格规范如下:
\begin{longtblr}{
rowhead={1},
hline{1,Z}=1pt, hline{2}=0.6pt, hline{3-Y}=0.2pt,
vlines,
rows = {4\baselineskip, font=\sffamily},
row{1} = {bg=azure8, fg=white, font=\bfseries},
colspec = {X[1,c] X[2,l] X[4,l] X[2,c, si={table-format=3.0}]},
}
答案2
您可以使用这个tabularray
包来做这件事。
梅威瑟:
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{hlines,vlines,
rows = {2.5cm, c},
row{1} = {bg=azure7, fg=white},
column{1} = {1cm, c},
column{2, 4} = {2cm, c},
column{3} = {3cm, c},
}
Order & Date & Product & Qty\\
1001 & 11/11 & Asdf & 50\\
\end{tblr}
\end{document}