在回忆录页面样式中定义新几何图形(运行任意代码)

在回忆录页面样式中定义新几何图形(运行任意代码)

这有可能吗?memoir自己关于页面样式的文档似乎只涉及使用不同的页眉和页脚,似乎不支持添加边距信息。由于 memoir 仍然做了很多相同的事情,而且fancyhdr我看到了对不兼容性的担忧,所以我希望只使用memoir-。

使用fancyhdr一个命令就可以定义一个具有几乎任意命令的页面样式,因为所有页面样式设置只是开放字段中的一堆不同命令,我可以\newgeometry在其中插入命令来根据自己的喜好调整边距:

\fancypagestyle{koe}{
\newgeometry{margin=1.8cm}
\fancyhf{} 
\setlength\headheight{30pt}
\fancyhead[L]{\includegraphics[width=6cm]{logo.pdf}}
\fancyhead[R]{\sffamily\thepage}
}

由于我正在为同事制作模板,因此我还需要尽量减少必要的命令,因此在每个新文档的开头使用自定义边距定义是不可能的;这个边距(也许最后甚至是字体)信息需要包含在\pagestyle{}所以所有人需要做的就是使用\input我们自己的样式文件以及必要的命令和包,然后只需选择一个预定义的样式\pagestyle{}——两行简单的代码,他们就可以开始处理已经以正确样式布局的实际内容了。

因此,新文档应以如下方式开始:

\input{../ourstyle.sty} %this file contains documentclass, all packages and custom commands
\pagestyle{styleforthiscategoryofdocuments} %this should define headers, footers and margins (maybe even the fontstyle in my wildest dreams)
\begin{document}
%actual content

这个旧线程涉及该主题但从未解决,而是转向了一种解决方法:回忆录中不同页面样式的边距不同

编辑:alephzero 的建议听起来不错,但这又带来了另一个问题。例如,如果我定义:

\newcommand{\mystyle}[1]{
\clearpage\newgeometry{margin=1.5cm}
\pagestyle{#1}
}

... 它仍然没有将给定的页面样式与预定义的边距配对。一种方法是为每个样式/边距组合创建一个全新的命令,但这又使事情变得更加复杂。与其使用,比如说,,,\report不如使用一个带有一个参数的单个命令()。如果没有更简单的方法,我想我会制作一个大的 if-else 树来将边距与页面样式相匹配。:/\exercises\instructions\mystyle

相关内容