我想定义一个文档,在文档的开头定义变量,并在文档中使用它们来定义从代码的哪些部分创建 pdf。
这是代码,我在**中写入,我将如何在python中执行此操作。
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\title{A test file}
\begin{document}
\maketitle
*Show_first_line = True*
*Show_second_line = False*
\section{Density functional theory}
*if Show_first_line == True: #Now the following formula should be compiled*
$$
i \hbar \frac{\partial \Phi(\mathbf{r}, \mathbf{R} ; t)}{\partial t}=\left(-\frac{\hbar^{2}}{2 M} \frac{\partial^{2}}{\partial \mathbf{R}^{2}}-\frac{\hbar^{2}}{2 m} \frac{\partial^{2}}{\partial \mathbf{r}^{2}}+V(\mathbf{r}, \mathbf{R})\right) \Phi(\mathbf{r}, \mathbf{R} ; t)
$$
*else:*
$$
i \hbar \frac{\partial \Phi(\mathbf{r}, \mathbf{R} ; t)}{\partial t}=\left( -\frac{\hbar^{2}}{2 m} \frac{\partial^{2}}{\partial \mathbf{r}^{2}}+V(\mathbf{r}, \mathbf{R})\right) \Phi(\mathbf{r}, \mathbf{R} ; t)
$$
*if Show_second_line == True # In case it is false, nothing should be compiled*
$$
\mathrm{M} \gg \mathrm{m} \text { the Born-Oppenheimer approximation }
$$
$$
i \hbar \frac{\partial \Phi(\mathbf{r}, \mathbf{R} ; t)}{\partial t}=
\left( -\frac{\hbar^{2}}{2 m} \frac{\partial^{2}}{\partial \mathbf{r}^{2}}+V(\mathbf{r}, \mathbf{R})\right) \Phi(\mathbf{r}, \mathbf{R} ; t)
$$
$$
M \ddot{\mathbf{R}}=-\frac{\partial E(\mathbf{R})}{\partial \mathbf{R}} \\
\left(-\frac{\hbar^{2}}{2 m} \frac{\partial^{2}}{\partial \mathbf{r}^{2}}+V(\mathbf{r}, \mathbf{R})\right) \Psi(\mathbf{r} | \mathbf{R})=E(\mathbf{R}) \Psi(\mathbf{r} | \mathbf{R})
$$
\end{document}
答案1
欢迎来到 TeX.SE!以下变体这个答案应该做你想做的事:
\documentclass{article}
\usepackage{environ}
\usepackage{etoolbox}
% The toggles are initially false
\newtoggle{showfirstline}
\newtoggle{showsecondline}
\toggletrue{showfirstline}
\togglefalse{showsecondline} % useless here
% Uncomment this if you don't want spaces after \end{maybePrint} to be
% discarded (the default is \environfinalcode{\ignorespacesafterend}, which
% causes such spaces to be ignored):
%
%\environfinalcode{}
\NewEnviron{maybePrint}[1]{%
\iftoggle{#1}{\BODY}{}%
}
\begin{document}
\begin{maybePrint}{showfirstline}
\[ \frac{\pi^2}{6} = \sum_{n=1}^{+\infty} \frac{1}{n^2} \]
\end{maybePrint}
\begin{maybePrint}{showsecondline}
\[ a^2 = b^2 + c^2 \]
\end{maybePrint}
Other text.
\end{document}
注意:不要使用$$ ... $$
LaTeX 显示公式,最好使用\[ ... \]
(参见为什么 \[ … \] 比 $$ … $$ 更可取?)。