喜欢预订。但是,我将我的书从LaTeX移植到了bookdown中,并希望获得页眉/页脚的帮助。
我有一个自定义代码,可以在我的LaTeX中生成页眉和页脚:
% HEADER AND FOOTER MANIPULATION
% for normal pages
\nouppercaseheads
\headsep = 0.16in
\makepagestyle{mystyle}
\setlength{\headwidth}{\dimexpr\textwidth+\marginparsep+\marginparwidth\relax}
\makerunningwidth{mystyle}{\headwidth}
\makeevenhead{mystyle}{}{\textls[100]{\textsf{\small\scshape\thetitle}}}{}
\makeoddhead{mystyle}{}{\textls[100]{\textsf{\small\scshape\leftmark}}}{}
\makeevenfoot{mystyle}{}{\textls[100]{\textsf{\small\thepage}}}{}
\makeoddfoot{mystyle}{}{\textls[100]{\textsf{\small\thepage}}}{}
\clearmark{section} % removing section in the headers
\makeatletter
\makepsmarks{mystyle}{%
\createmark{chapter}{left}{nonumber}{\@chapapp\ }{.\ }}
\makeatother
% for pages where chapters begin
\makepagestyle{plain}
\makerunningwidth{plain}{\headwidth}
\makeevenfoot{plain}{}{}{}
\makeoddfoot{plain}{}{}{}
\pagestyle{mystyle}
% END HEADER AND FOOTER MANIPULATION
我将整个LaTeX序言放在preamble.tex
中(我还没有在书中添加内容)。它呈现以下内容:
渲染应该看起来像这样:
此外,这里是index.Rmd
中YAML中的内容。
documentclass: memoir
papersize: smalldemyvo
indent: yes
microtypeoptions:
- protrusion
- tracking
fontfamily: Alegreya
fontfamilyoptions:
- osf
fontsize: 11pt
output:
bookdown::pdf_book:
template: null
我刚刚预订,但我确实阅读了文档。我觉得我需要帮助两件事。
谢谢!
答案 0 :(得分:1)
默认情况下,bookdown使用一些内置模板。如果你需要更多的调整,你可以制作你自己的.tex文件(preamble.tex,before_body.tex,after_body.tex,template.tex)并在index.Rmd的yaml部分指定它们:
bookdown::pdf_book:
includes:
in_header: preamble.tex
before_body: before_body.tex
after_body: after_body.tex
template: template.tex
bookdown将preamble.tex,before_body.tex和after_body.tex与您图书的主体(在template.tex中标记为$body$
)合并到模板控制下的结构中的一个.tex文件中.tex,并使用pandoc和LaTex将其编译成pdf书。
在您的情况下,您必须以正确的方式将自定义代码插入template.tex。 @ yihui' s demo显示了一个很好的例子。
有关自定义这些.tex文件的更多示例,我建议你可以查看' bookdownplus'我开发的包,它提供了19个示例,展示了如何将LaTeX模板定制到bookdown的框架中,或者阅读Chapter 8.3 Create Your Own Templates in the bookdownplus textbook。
答案 1 :(得分:-1)
编辑回答
bookdown具有内置模板(主要由documentclass
和/或Pandoc决定)。请参阅记事本文档的Theming和Templates部分。
正如@pzhao建议的那样,要学习的例子是template in the bookdown-chinese回购。观察从Rmd文件引入数据的变量。它们被$$
括起来,例如$body$
。 _output.yml
引用了此模板。这样,您可以覆盖默认模板,从而消除重复的页眉/页脚。您的LaTeX模板决定页眉/页脚的哪些部分。一个例子是我的问题中的LaTeX代码。
也可以通过调整自定义LaTeX模板来控制ToC表中Contents
的外观。我使用memoir
类,并且可以找到帮助删除自引用here。我的自定义LaTeX模板已经处理好了,所以一旦我弄清楚如何使用我的自定义模板,它就会自行修复。