我对Knitr相当陌生,我试图编写我的第一个文档,从我的乳胶文件中“导入”一些“ \ newcommand”。
除带有“自变量”的参数外,我所有的“ \ newcommand”都得到了完美处理。
例如,我添加了我通常在乳胶中使用的软件包:
header-includes:
-\usepackage{a4wide,amsmath,amsthm,epsfig,graphicx}
- \usepackage{amsmath,amsthm,amssymb}
- \usepackage{amsfonts}
- \usepackage{graphics}
- \usepackage{subfigure}
- \usepackage{dsfont}
- \usepackage{bbm}
- \usepackage{bm}
- \usepackage{xcolor}
- \usepackage{dcolumn}
- \usepackage{pstricks,fancyhdr,fancybox}
- \usepackage{dcolumn}
- \usepackage{bm}
但是以下操作无效
\newcommand{\PR}[1]{\bm{P}\left\{{#1}\right\}}
错误是
output file: newfile.knit.md
"../Documents/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS newfile.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output newfile.pdf --template "C:\Users\P14814\Documents\R\win-library\3.4\rmarkdown\rmd\latex\default-1.17.0.2.tex" --highlight-style tango --latex-engine pdflatex --variable graphics=yes --variable "geometry:margin=1in"
! Missing $ inserted.
<inserted text>
$
l.180 \newcommand{\PR}{[}1{]}\{\bm{P}
pandoc.exe: Error producing PDF
Error: pandoc document conversion failed with error 43
In addition: Warning message:
running command '"../Documents/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS newfile.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output newfile.pdf --template "C:\Users\P14814\Documents\R\win-library\3.4\rmarkdown\rmd\latex\default-1.17.0.2.tex" --highlight-style tango --latex-engine pdflatex --variable graphics=yes --variable "geometry:margin=1in"' had status 43
Execution halted
非常感谢您的帮助!
答案 0 :(得分:3)
我强烈建议您将这些命令放在一个外部文件中,例如preamble.tex
,并通过includes
选项将其包括在内。
output:
pdf_document:
includes:
in_header: preamble.tex
请参阅R Markdown书籍的第3.3.7.3节:https://bookdown.org/yihui/rmarkdown/pdf-document.html
使用header-includes
并不完全安全。 Pandoc在生成LaTeX输出时可能会破坏某些字符。如果您的Pandoc版本高于2.0(请选中rmarkdown::pandoc_version()
),则可以使用原始的LaTeX块来保护LaTeX内容,例如
header-includes: |
```{=latex}
\usepackage{a4wide,amsmath,amsthm,epsfig,graphicx}
\usepackage{amsmath,amsthm,amssymb}
......
```