我正在尝试生成一般文档,并(使用\ ifthenelse)使用不同的pdf版本。当我尝试使用铸造好的包包含代码块时,会生成不带代码的pdf。
如果我在\ ifthenelse块之外尝试,则包含该代码。街区内部是唯一不工作的地方。 \ lstset也是如此。
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor}
\usepackage{ifthen}
\begin{document}
...
\newboolean{xcpp}
\setboolean{xcpp}{true}
\ifthenelse{xcpp}{
Test
\begin{listing}[ht]
\begin{minted}{cpp}
int main() {
int i=0;
for (i=1; i<10; i++){
int j=10;
std::cout<<i<<" j: "<<j<<std::endl;
}
std::cout<<"\ni al salir del ciclo: "<<i;
return 0;
}
\end{minted}
\caption{Minimal working example}
\label{listing:1}
\end{listing}
}{}
\end{document}
答案 0 :(得分:0)
易碎的内容(例如代码)在另一个宏的参数内总是很棘手-但是,除了尝试解决此问题外,还有一个简单的解决方法:
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor}
\begin{document}
\newif\ifxcpp
\xcpptrue % <- comment this line to switch between the two versions
\ifxcpp
\begin{listing}[ht]
\begin{minted}{cpp}
int main() {
int i=0;
for (i=1; i<10; i++){
int j=10;
std::cout<<i<<" j: "<<j<<std::endl;
}
std::cout<<"\ni al salir del ciclo: "<<i;
return 0;
}
\end{minted}
\caption{Minimal working example}
\label{listing:1}
\end{listing}
\else
something else
\fi
\end{document}