我正在尝试在记账项目中使用一些 latex 宏(这是一项了不起的技术!)。
我想在文本(和定理环境)中写下像 |x> 这样的符号,在正常的 latex 文档中我会使用包 braket。实际上,我会在 latex 文件中写
\usepackage{braket}
我不明白为什么,但是在序言中添加\usepackage{braket} 不起作用,因为 $\ket{x}$ 没有在文本中正确呈现。
为了避免这个问题,我想到了在 markdown 文件的开头添加一些宏。
\DeclarePairedDelimiter\bra{\langle}{\rvert}
\DeclarePairedDelimiter\ket{\lvert}{\rangle}
\DeclarePairedDelimiterX\braket[2]{\langle}{\rangle}{#1 \delimsize\vert #2}
不幸的是,它并没有解决问题。在这两种情况下,我都会收到以下错误:
[WARNING] Could not convert TeX math '\ket{\psi}', rendering as TeX:
\ket{\psi}
^
unexpected "{"
expecting "%", "\\label", "\\nonumber" or whitespace
关于如何解决这个问题的任何想法? 谢谢。
最佳答案
您必须将 LaTeX 代码放入单独的 .tex 文件中,然后将其提供给 YAML 选项 includes
。
例子:
add_packages.tex
\usepackage{braket}
index.Rmd
---
output:
bookdown::pdf_book:
includes:
in_header: add_packages.tex
documentclass: book
site: bookdown::bookdown_site
---
# Let's test `braket`
$$\bra{\Psi}\ket{\Psi}$$
见一辉的documentation bookdown 包的更多信息。
关于bookdown - bookdown 定理中的 Latex 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63391406/