语境。
由于大学的具体要求(1),我不得不使用这个在tex.stackexchange https://tex.stackexchange.com/a/96366/50507作者大卫·卡莱尔,这完全符合我目前的需要。
(1) 要求已在那个问题中列出,请点击链接,我不想重复。它还解释了oneside
文档文章。
因此,给出链接的代码,让我们将其视为我的最小工作示例:
\documentclass[oneside]{article}
\usepackage{caption}
\def\a{One two three four \stepcounter{enumi}\roman{enumi} five six. }
\def\b{\a\a\par\a\a\a Red green blue yellow black white. }
\def\c{\b\b\par\b\b\b\b\b\par\b\b\b\par\b\b\b\par\b}
\makeatletter
\def\@oddhead{ODD PAGE\hfill\thepage}
\long\def\grabfirst#1#2\@@{\toks@{#2}\xdef\insertlist{\the\toks@}#1}
\let\old@outputpage\@outputpage
\def\@outputpage{%
\ifx\insertlist\@empty
\shipout\vbox to\@colht {\vss}%
\else
\begingroup
\setbox\@outputbox\vbox to\@colht {%
\expandafter\grabfirst\insertlist\@@
}%
\def\@oddhead{\thepage(x) \hfill EVEN PAGE}
\old@outputpage
\addtocounter{page}{-1}%
\endgroup
\fi
\old@outputpage}
\gdef\insertlist{}
\long\def\insertpic#1{\g@addto@macro\insertlist{{#1}}}
\makeatother
\begin{document}
\c
\insertpic{%
\rule{1cm}{2cm}
\captionof{figure}{a picture}}
\c
\begin{figure}[t]
this\\
is\\
a\\
t figure
\caption{zzz}
\end{figure}
\c
\begin{figure}[p]
this\\
is\\
a\\
p figure
\caption{zzz}
\end{figure}
\c
\insertpic{%
\rule{1cm}{1cm}
\captionof{figure}{a picture}}
\c
\end{document}
问题。
我的目标是在正面页和背面页设置不同的边距,例如:
- 正面:左侧 = 3cm,右侧 = 3cm,顶部 = 3cm,底部 = 3cm(假设这是默认值,在完整报告中给出,但背面除外)
- 仅在背面(当它们出现时):左 = 2cm,右 = 2cm,顶部 = 1.5cm,底部 = 1.5cm
问题在于某些图片(和表格)对于整个代码使用的全局边距来说太宽,因此对于背面来说也是如此。
我的问题。
我不知道如何修改一侧(背面)的边距几何形状而不修改另一侧(正面),并且不破坏给定的代码。如果您能帮助我,我将不胜感激。
附加说明。
请注意,这不是我的问题的本质 - 我的第一个问题只是在正面和背面使用不同的几何形状 - 除了这些边距外,链接的解决方案到目前为止对我来说非常有效。
然而如果无法使用此代码在正面和背面设置不同的边距,我将非常感激如果您能提出具有相同编号要求的另一种解决方案。
关于问题格式有什么建议吗?
由于我还没有收到任何答案,如果您有任何建议可以帮助我更好地呈现我面临的问题,以便我可以更轻松地找到解决方案,请随时在评论中告诉我。我应该提出另一项悬赏吗?我应该怎么做才能找到有关该主题的一些提示?再次感谢您的关注。
答案1
可以通过使用几何图形设置奇数页(正面)的边距来实现这一点,例如
\usepackage[margin={3cm,4cm}]{geometry}
或者
\usepackage[margin=3cm,includeheadfoot]{geometry}
然后通过以下方式本地更改(背面)偶数页的设置:
\def\@outputpage{%
\ifx\insertlist\@empty
\shipout\vbox to\@colht {\vss}%
\else
\begingroup
\addtolength{\oddsidemargin}{-1cm}
\addtolength{\topmargin}{-1.5cm}
\addtolength{\textwidth}{2cm}
\addtolength{\@colht}{3cm}
\setbox\@outputbox\vbox to\@colht {%
\expandafter\grabfirst\insertlist\@@
}%
\def\@oddhead{\thepage(x) \hfill EVEN PAGE}
\old@outputpage
\addtocounter{page}{-1}%
\endgroup
\fi
\old@outputpage}