![如何使用“tabularray”和“pdflscape”使表格居中并移动页眉和页脚?](https://linux22.com/image/450542/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E2%80%9Ctabularray%E2%80%9D%E5%92%8C%E2%80%9Cpdflscape%E2%80%9D%E4%BD%BF%E8%A1%A8%E6%A0%BC%E5%B1%85%E4%B8%AD%E5%B9%B6%E7%A7%BB%E5%8A%A8%E9%A1%B5%E7%9C%89%E5%92%8C%E9%A1%B5%E8%84%9A%EF%BC%9F.png)
我知道如何使用 使表格居中\begin{adjustwidth}{-1cm}{-1cm}
以及如何使用 删除页眉和页脚\thispagestyle{empty}
。但在tabularray
和pdflscape
环境中,它似乎没有居中,也不能没有页眉和页脚。例如,
\documentclass{article}
\usepackage{tabularx}
\usepackage{tabularray}
\usepackage{pdflscape}
\usepackage{chngpage}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\pagestyle{headings}
\begin{document}
\section{New section}
\lipsum{1-6}
\begin{landscape}
\thispagestyle{empty}
\begin{adjustwidth}{-1cm}{-3cm}
\begin{longtblr}[caption={hello},
label={tab:table1}]{
colspec={*{17}{X[c]}}
}
\SetCell[c=2]{m} 1& &{{{3\\3\\4}}}&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
\end{longtblr}
\end{adjustwidth}
\end{landscape}
\lipsum{1-6}
\end{document}
结果如下:
另外三个问题:
- 中间怎么
\SetCell[c=2]{m} 1
没做成呢?1
- 如何在纵向和横向纸张之间的空白处填充文字?
- 如果我
TblrNote
在此表中插入许多注释。所有注释将显示在表格底部。有没有办法让每个注释都显示在显示其符号的页面上?
答案1
- 如何删除页眉和页脚
\thispagestyle{empty}
?
thispagestyle{empty}
仅更改一页的页眉。由于您的表格有多个页面,\pagestyle{empty}
因此您应该改用。由于您在landscape
环境内部执行此操作,并且\pagestyle
是本地声明,因此在landscape
环境完成后,页面样式将自动重置为其先前的值。由于环境landscape
以分页符开始和结束,因此页面样式的更改可以正常工作。
- 中间怎么
\SetCell[c=2]{m} 1
没做成呢?1
这是对含义的误解m
。它并不意味着将内容垂直置于单元格的中心。相反,它的意思是:将内容的基线放在内容的垂直中心。在一行中,所有单元格的基线都放在相同的水平。行中所有其他单元格的基线都在顶部(或唯一一行),因此第一个单元格的垂直中心就在那里。如果您\SetCell[c=1]{m}
对第二个单元格使用{3\\3\\4}
,则第一个单元格将与第二个单元格的中心对齐,但也会与行中所有其他单元格的中心对齐。如果您想要这样,那么这就是解决方案。如果不是,您可以在第一个单元格顶部添加一个空行,例如:
\SetCell[c=2]{t} {\mbox{}\\1}
- 如何在纵向和横向纸张之间的空白处填充文字?
环境landscape
会开始一个新页面,因此如果您想先填满页面,则必须将其延迟到出现分页符为止。这可以通过包来完成afterpage
。如果您的 LaTeX 安装足够新,您可以使用例如钩子shipout/after
,但为了以防万一,我将在这里使用 afterpage。
由于建议只使用少量代码\afterpage
,我将把表格放在一个单独的文件中。因此,将代码从 开始\begin{landscape}
和结束于\end{landscape}
(包括两者)放在一个单独的文件中lscapetable.tex
。在主文件中,将其替换为
\afterpage{\input{lscapetable}}
,并放入\usepackage{afterpage}
序言中。
- 如果我
TblrNote
在此表中插入许多注释。所有注释将显示在表格底部。有没有办法让每个注释都显示在显示其符号的页面上?
我不知道。
这是我的完整解决方案(顺便说一下,\lipsum
用于[...]
其论点):
\documentclass{article}
\usepackage{tabularx}
\usepackage{tabularray}
\usepackage{pdflscape}
\usepackage{chngpage}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\usepackage{afterpage}
\pagestyle{headings}
\begin{document}
\section{New section}
\lipsum[1-6]
\afterpage{\input{lscapetable}}
\lipsum[1-6]
\end{document}
文件lscapetable.tex
\begin{landscape}
\pagestyle{empty}
\begin{adjustwidth}{-1cm}{-1cm}
\begin{longtblr}[caption={hello},
label={tab:table1}]{
colspec={*{17}{X[c]}}
}
\SetCell[c=2]{t} {\mbox{}\\1} & &{{{3\\3\\4}}}&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17\\
\end{longtblr}
\end{adjustwidth}
\end{landscape}