if 条件如何起作用?

if 条件如何起作用?

如何在 LaTeX 中使用 if 条件?如果条件为真,我想执行代码,如果条件为假,则继续。抱歉,我的示例代码和英语不好。我不知道该怎么做。

\documentclass[11pt,a4paper,titlepage,bibliography=totoc,numbers=noenddot,abstract=on,multi,dvipsnames,svgnames,x11names]{scrreprt}
\usepackage{ifthen} %Paket einbinden
\newboolean{persoenlich} %Deklaration einer boolschen Variable
\setboolean{persoenlich}{false} %Zuweisung eines Wertes.

供您参考 -> 交叉发布https://texwelt.de/wissen/fragen/23136/wie-funktioniert-eine-if-abfrage-in-latex

答案1

存在多种不同的可能性。

朴素风格如下:

\newif\ifMyIfThingy

这定义了三个宏,\MyIfThingytrue将其设置为 true、\MyIfThingyfalse将其设置为 false 和\ifMyIfThingy。您可以按以下方式使用它:

\ifMyIfThingy
  True
\else
  False
\fi

LaTeX 中有以下高级实现etoolbox

\usepackage{etoolbox}
\newbool{MyIfThingy}
\booltrue{MyIfThingy}
\boolfalse{MyIfThingy}
\ifbool{MyIfThingy}{True}{False}

\newtoggle{MyToggleThingy}
\toggletrue{MyToggleThingy}
\togglefalse{MyToggleThingy}
\iftoggle{MyToggleThingy}{True}{False}

切换和布尔值之间的区别在于,etoolbox布尔值是在内部构建的,\newif而切换的实现方式不同,并且每个切换只使用一个宏。

然后有 LaTeX3 布尔值,例如:

\usepackage{expl3}

\ExplSyntaxOn
\bool_new:N \l_my_bool_thingy_bool
\bool_set_true:N \l_my_bool_thingy_bool
\bool_set_false:N \l_my_bool_thingy_bool

\bool_if:NTF \l_my_bool_thingy_bool
  { True }
  { False }
\ExplSyntaxOff

expl3但是,如果您使用...进行编码,则应仅使用 LaTeX3 布尔值。

答案2

有了ifthen,你就可以

\ifthenelse{\boolean{persoenlich}}{True}{False}

如果布尔值返回 true 则将其替换True为要执行的代码,对于 也类似False

相关内容