6.5 出版商
除了在网上发布你的书之外,你还可以考虑通过出版商出版你的书籍。例如,本书是由 Chapman & Hall/CRC 出版的,在 https://bookdown.org/yihui/bookdown/ 也有免费的在线版本(与出版商达成了协议)。如果你不想与的发布者合作,你还可以考虑自主出版 (https://en.wikipedia.org/wiki/Self-publishing)。Pablo Casas 写了两篇你可能会觉得有用的博客文章:“How to self-publish a book” 和 “How to self-publish a book: customizing bookdown”。
如果你选择的出版商支持 LaTeX,那么出版用 bookdown 编写的书会容易得多。例如,Chapman & Hall 提供了一个名为 krantz.cls
的 LaTeX 类,Springer 提供的是 svmono.cls
。如果要将这些 LaTeX 类应用于 PDF 书籍,请将 index.Rmd
的 YAML 元数据中的 documentclass
设置为 LaTeX 类文件名(不带扩展名 .cls
)。
LaTeX 类是 YAML 元数据中最重要的设置。它控制了 PDF 书籍的整体样式。还有一些其他设置是你经常需要调整的,下面我们将展示有关本书的一些详细信息。
本书的 YAML 元数据包含以下设置:
documentclass: krantz
lot: yes
lof: yes
fontsize: 12pt
monofont: "Source Code Pro"
monofontoptions: "Scale=0.7"
字段 lot:yes
表示我们需要表格列表;类似地,lof
表示图片列表。基础字体大小是 ‘12pt’,我们使用了 Source Code Pro 作为等宽(固定宽度)字体,它适用于本书中的所有程序代码。
在 LaTeX 导言 (preamble)(第 4.1 节)中,我们还有一些设置。首先,我们将主字体族设置为 Alegreya,并且由于此字体没有 Small Capitals(小型大写字母)特征,我们使用 Alegreya SC 字体。
下面的命令通过允许浮动环境占用更大部分的页面而不是浮动,从而使得它们更不太可能浮动。
\renewcommand{\textfraction}{0.05}
\renewcommand{\topfraction}{0.8}
\renewcommand{\bottomfraction}{0.8}
\renewcommand{\floatpagefraction}{0.75}
由于 krantz.cls
为引用文段提供了一个环境 VF
,因此我们将标准的 quote
环境重新定义为 VF
。您可以在第 2.1 节中看到它的样式。
然后我们将超链接重新定义为脚注,因为当书印刷在纸上时,读者无法点击文本中的链接,而脚注会告诉他们实际的链接是什么。
我们还为 _output.yml
中的 bookdown::pdf_book
格式进行了一些设置:
bookdown::pdf_book:
includes:
in_header: latex/preamble.tex
before_body: latex/before_body.tex
after_body: latex/after_body.tex
keep_tex: yes
dev: "cairo_pdf"
latex_engine: xelatex
citation_package: natbib
template: null
pandoc_args: --top-level-division=chapter
toc_unnumbered: no
toc_appendix: yes
quote_footer: ["\\VA{", "}{}"]
highlight_bw: yes
我们上面提到的所有导言 (preamble) 设置都在文件 latex/preamble.tex
中,其中我们还指定了前言 (front matter) 的开始:
译者注:
\frontmatter
通常跟在\begin{document}
后,会关闭章节序号,页码使用罗马数字。
在 latex/before_body.tex
中,我们插入了出版商要求的一些空白页,并编写了奉献页。在书的第一章之前,我们插入
因此,LaTeX 知道将页码样式从罗马数字(前言所用的样式)更改为阿拉伯数字(正文所用的样式)。
我们在 latex/after_body.tex
(第 2.9 节)中打印索引。
由于默认设备 pdf
不能嵌入字体,因此用于保存图片的图形设备 (dev
) 被设置为 cairo_pdf
,以便字体可以嵌入图片中。你的文案编辑可能会要求您嵌入 PDF 中使用的所有字体,以便该书可以完全按其电子版本的外观打印,否则某些字体可能会被替换,印刷时的字型可能无法预测。
quote_footer
字段是为了确保引用页脚右对齐:krantz.cls
提供了 LaTeX 命令 \VA{}
以包含引用页脚。
highlight_bw
选项被设置为 true,这样语法高亮显示的代码块中的颜色将转换为灰度,因为这本书将采用黑白打印。
这本书是通过 xelatex
编译成 PDF 的,以便于我们使用自定义字体。
除 VF
环境和 \VA{}
命令外,上述所有设置都可以应用于任何其他 LaTeX 文档类。
如果你也想与 Chapman & Hall 合作,你可以从我们存储库 (https://github.com/rstudio/bookdown/tree/master/inst/examples) 中的 krantz.cls
文件开始,而不使用你从编辑那里得到的副本。我们已经与 LaTeX 帮助中心合作解决了这个 LaTeX 类的许多问题,所以如果你使用 bookdown,希望它能很好地用于你的书。