Variáveis ​​​​Látex e instrução if para mostrar ou ocultar código

Variáveis ​​​​Látex e instrução if para mostrar ou ocultar código

Gostaria de definir um documento, no qual eu defino variáveis ​​no início do documento e as utilizo no documento para definir a partir de quais partes do código o pdf é criado.

Esse é o código e escrevo em * * , como faria em 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}

Responder1

Bem-vindo ao TeX.SE! A seguinte variação deesta respostadeve fazer o que quiser:

\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}

Captura de tela

Nota: não use $$ ... $$para exibir fórmulas com LaTeX, prefira \[ ... \](vejaPor que \[… \] é preferível a $$… $$?).

informação relacionada