上次我问了一个关于如何使用knitr
and Rmarkdown
in自定义内联代码的问题Rstudio
。(在 Rstudio 中使用“knit html”功能后内联代码不突出显示)。正如本页所建议的,我在~/.Rprofile
# assert my own stylesheet for knit-html in Rstudio
options(rstudio.markdownToHTML=
function(inputFile,outputFile){
require(markdown)
markdownToHTML(inputFile,outputFile,stylesheet='~/.css/Rstudio.css')
}
)
我自己的.css
文件是:
body, td {
font-family: sans-serif;
background-color: white;
font-size: 15px;
margin: 8px;
line-height: 200%;
}
code {
font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
color: rgb(255,0,50);
background-color: #F8F8F8;
outline-style: solid;
outline-width: thin;
outline-color: lightgrey;
padding-left: 0.8mm;
padding-right: 0.8mm;
padding-left: 0.3mm;
padding-right: 0.3mm;
margin-left: 0.5mm;
margin-right: 0.5mm;
}
tt, pre {
font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
}
h1 {
font-size:2.2em;
}
h2 {
font-size:1.8em;
}
h3 {
font-size:1.4em;
}
h4 {
font-size:1.0em;
}
h5 {
font-size:0.9em;
}
h6 {
font-size:0.8em;
}
a:visited {
color: rgb(50%, 0%, 50%);
}
pre {
margin-top: 0;
max-width: 95%;
border: 1px solid #ccc;
white-space: pre-wrap;
}
pre code {
display: block; padding: 0.5em;
}
code.r, code.cpp {
background-color: #F8F8F8;
}
table, td, th {
border: none;
}
blockquote {
color:#666666;
margin:0;
padding-left: 1em;
border-left: 0.5em #EEE solid;
}
hr {
height: 0px;
border-bottom: none;
border-top-width: thin;
border-top-style: dotted;
border-top-color: #999999;
}
@media print {
* {
background: transparent !important;
color: black !important;
filter:none !important;
-ms-filter: none !important;
}
body {
font-size:12pt;
max-width:100%;
}
a, a:visited {
text-decoration: underline;
}
hr {
visibility: hidden;
page-break-before: always;
}
pre, blockquote {
padding-right: 1em;
page-break-inside: avoid;
}
tr, img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page :left {
margin: 15mm 20mm 15mm 10mm;
}
@page :right {
margin: 15mm 10mm 15mm 20mm;
}
p, h2, h3 {
orphans: 3; widows: 3;
}
h2, h3 {
page-break-after: avoid;
}
内联代码最终被格式化为我想要的格式。但是,在那之后我未能在 Rmarkdown 中呈现 LaTeX 公式。例如,$\alpha$
产生纯文本“$\alpha$”!我尝试禁用 中添加的行~/.Rprofile
,然后可以再次成功渲染公式。我的.css
文件似乎有问题,但 Rstudio 没有,因为我尝试使用该函数knit2html("test.Rmd",stylesheet="~/.css/Rstudio.css")
并且未呈现公式。