【问题标题】:Latex macro in bookdown theorembookdown 定理中的 Latex 宏
【发布时间】:2020-08-13 18:35:36
【问题描述】:

我正在尝试在 bookdown 项目中使用一些乳胶宏(这是一项了不起的技术!)。

我想在文本(和定理环境中)写符号,如 |x>,在普通的乳胶文档中,我会使用包刹车。在实践中,我会在一个乳胶文件中写

\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

关于如何解决这个问题的任何想法? 谢谢。

【问题讨论】:

    标签: bookdown


    【解决方案1】:

    您必须将 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包。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多