如何创建具有行属性的表

如何创建具有行属性的表

这可能是之前在某个地方出现过的问题,但我还没有找到全面的解决方案。如何创建具有自定义行高(例如 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}

输出

相关内容