latex - \newcommand 与 Kritr 中的参数不起作用
问题描述
我对 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
非常感激你的帮助!!
解决方案
我强烈建议您将这些命令放在一个外部文件中,例如,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}
......
```
推荐阅读
- javascript - 如何使用 Python 触发 javascript 事件
- mongodb - mongdb 在时隙中查找用户
- c# - Control.Invoke 到底在做什么?
- ember.js - 如何更新对象数组的特定属性?
- python-3.x - Python没有读取我的while循环和if语句中的所有比较运算符
- scala - How to write pointcut with customized annotation to print the global variable value that used in a function?
- ruby - Ruby - select items from an array of tuples using items from an other array containing a single field
- python - ndarray 到字符串操作
- scala - 如何将完全形成的 SQL 与 Spark 结构化流结合使用
- visual-studio-code - Ionide F# - 整理所有文件