我有一个memoir
-class文件:
\documentclass[oneside,letterpaper]{memoir}
我将其设置为oneside
或twoside
取决于我是否要创建电子副本(单面)或可打印副本(双面)。我有三个问题:
当我自动构建(单面和双面)时,是否可以让它(在本例中为 TeXnicCenter)创建两个 PDF 版本,并使用不同的文件名?
只有在
twoside
模式下我才需要添加一个空白页,而不是oneside
。我该如何将其与上述问题结合起来?如果我无法在构建时执行两个版本,那么我该如何在“if-then”中检查它是否设置为
oneside
或twoside
模式?即if(twoside) then add blank page; end
答案1
一般来说,您可以使用测试\if@twoside
来测试双面,但对于有条件的空白页,通常使用其在单面文档中\cleardoublepage
的作用就足够了,但如果有必要,将强制使用空白页以转到文档中的奇数页。\clearpage
twoside
答案2
1) 我已经使用 TeXnicCenter 一段时间了,但我认为这是不可能的。不过,您始终可以使用 运行文件oneside
,将其“另存为”,然后使用 重新运行它twoside
。
2)我实际上使用了一个宏(\clearemptydoublepage
)来避免在使用选项时左页带有数字twoside
,并且如果使用则不会创建额外的页面oneside
:
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
3)使用2中的宏我认为您不会遇到任何麻烦,或者如David所描述的,使用\cleardoublepage
。
答案3
我知道这个话题有点过时,但也许其他人也面临同样的挑战。
我有一个解决第一个问题的想法:你可以用这个\forloop
包编写一个循环,并用它来运行整个代码两次。然后在第一次迭代中生成单面文档,在第二次迭代中生成双面文档。
在每个循环结束时,您需要将编译后的文件导出为 pdf。我对 latex 还比较陌生,不知道如何用代码做到这一点,但我猜这是一个较小的问题。