如何在 classicthesis 中更改横向长表的边距

如何在 classicthesis 中更改横向长表的边距

我正在使用 Excellentclassicthesis排版我的论文。它看起来很棒,除非迫不得已,否则我不愿意改变,但我遇到了一个问题。

我的文档中有许多longtable横向页面。我想缩小表格前后的顶部和底部边距,以便在一页上显示更多信息。同时,我想保持文档其余部分的边距不变。

我有:

  1. 尝试使用该包changepage,但这似乎不适用于longtablehttp://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2007-05/msg00623.html也遇到了这个问题)

  2. 考虑使用包,然后在进入环境geometry之前更改边距,但似乎没有使用来管理页面布局,所以我认为这会破坏文档其余部分的页面设置landscape\newgeometryclassicthesisgeometry

  3. 尝试玩\LTpre,,,\LTpost\LTleft\LTright

  4. 尝试使用\addmarginKOMA 脚本命令

任何想法表示赞赏

答案1

界面可以更好,我怪你使用的软件包的作者,但这似乎有效

\documentclass{article}
\usepackage{lscape,longtable}
\newcounter{z}
\def\z{\stepcounter{z}[[[[[\thez]]]]]}


\makeatletter

\def\fudge#1#2{%
\addtolength\textheight{#1}%
\@colroom\textheight
\vsize\textheight
\@colht\textheight
\def\LS@rot{%
  \setbox\@outputbox\vbox{\hbox{\kern-#2\rotatebox{90}{\box\@outputbox}}}}%
\clearpage}

\makeatother

\begin{document}
\begin{landscape}
\fudge{3cm}{1.5cm}% 3cm longer and raise by 1.5cm
\begin{longtable}{l}
\endhead
\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\
\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\
\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\
\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\
\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\
\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\
\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\\z\\
\end{longtable}
\end{landscape}
\end{document}

答案2

经过一番混乱之后(包括 David 的解决方案我似乎没有像预期的那样工作)我发现最简单的方法是不要管边距当您只需要更多一点空间以便在一页上容纳一张更大的表格时。

首先我尝试了区域集自从这是 classicthesis 用来控制边距大小的方法. 放大之前景观并在工作完成后将其设置回原始状态。但是,这些边距也会影响页眉的位置,我认为这是不可取的。不过,这仍然可以成为原始 OP 问题的合适解决方案,尽管我目前还不知道如何解决“页眉问题”。

简单否定空间最终看起来对我来说最“干净”。我删除了 classicthesis 中分配给边距的空间(\marginparsep + \marginparwidth),从而使边距与文档其余部分相似。

\begin{landscape}
\begin{table}
    \vspace{-\marginparsep}
    \vspace{-\marginparwidth}
    ...
    \caption{Longer table as usual still fitting on one page thanks to negative vspace.}
    \label{table:long_table}
\end{table}
\end{landscape}

相关内容