为什么我在 rmarkdown 中获得了用户定义命令的完整代码?

为什么我在 rmarkdown 中获得了用户定义命令的完整代码?
---
documentclass: report
classoption: twoside
fontsize: 12pt
output: 
  pdf_document: 
    latex_engine: xelatex
    keep_tex: true
header-includes: |
  \usepackage{geometry}
  \usepackage{tikz}
  \newcommand{\zero}{\centerline{\tikz{\node[circle, fill=gray, minimum size=0.4\linewidth] {};}}}
---
\zero

我想知道为什么在 tex 文件中我没有得到

\begin{document}
\zero
\end{document}

相反,我得到了完整的代码

\begin{document}
\centerline{\tikz{\node[circle, fill=gray, minimum size=0.4\linewidth] {};}}
\end{document}

相关内容