如果我的 knitr 输出是 pdf,那么我可以按如下方式开始我的文档,使文本双倍行距:
title: My Title
author: "My Name"
date: "Today's Date"
header-includes:
- \usepackage{setspace}
- \doublespacing
output: pdf_document
但是,如果我将输出更改为html_document
,文本仍为单倍行距。有没有办法让它变成双倍行距?
答案1
我假设你正在使用 RStudio,所以我从这个角度来写。这个问题有两个方面。首先,你需要了解 HTML 文档的行距是如何定义的。然后我们需要讨论如何knitr
应用style
信息。
HTML 文档中的行距可以通过应用style
属性元素,或全局,与外部层叠样式表、.css
文件或者内部样式定义。
为了当地的方法,您可以对标签使用以下样式属性<p>
,将单个段落设置为双倍行距<p style="line-height: 2em;"> ... </p>
(一个段落);或者多个段落(甚至整个文档),您可以使用标签来<div>
代替:(<div style="line-height: 2em;"> ... </div>
跨越您需要的任何内容)。
全球<p>
您可以通过样式表将行高定义应用于所有元素,方法是p {line-height: 2em;}
在文件中指定,然后将其加载到 HTML 文档中,并在HTML 文档的块中mystyle.css
声明。这被认为是将格式与内容完全分开的最原则性解决方案。但您不再拥有一个独立的文件,而是您的<link rel="stylesheet" type="text/css" href="mystyle.css">
<head>...</head>
外部样式表需要位于 webroot 目录下的某个位置,以便您的服务器可以访问它并将其与您的文档一起提供。但是,您可以使用内部样式表,通过放置以下方块:
<style>
p {line-height: 2em;}
</style>
在 HTML 文件的标题中,或者将此行添加到已有的样式信息中。这将为您提供一个完全双倍行距的 HTML 文档。
[编辑:此解决方案无效。此修改使其有效:
<style type="text/css">
body{
line-height: 2
}
</style>
此方案的优点是可以兼容目录功能,但是<div style="line-height: 2em;">
...</div>
会干扰目录。]
到目前为止,HTML 都是这样的。有几种方法可以knitr
生成这种双倍行距的 HTML 文件:
你可以告诉
knitr
包括你自己的外部样式表通过在 .Rmd 文档的 YAML 标头中指定此项。output: html_document: css: mystyle.css
(注意缩进!该文件需要位于您的主目录中 - 或者您需要添加路径。)这需要使用两个文件。