在 Latex 中隐藏或显示文本的变量

在 Latex 中隐藏或显示文本的变量

我想要一些用于在 Latex 中显示或隐藏文本的变量。

例如,我想获得两个版本的文档。通过更改 Latex 文档顶部的变量,获得一个短版本和一个长版本。

例如:

我想设置一个变量 long - true

在文本中我想使用 if long == true 来显示文本(长版本) else if false 不显示文本(短版本)。

有什么例子吗?

答案1

\documentclass{article} 
\usepackage{lipsum}    
\newif\iflong

\begin{document}

  \longtrue   
  \iflong \lipsum[1] \else short version \fi 

  \longfalse
  \iflong \lipsum[1] \else short version \fi 
\end{document}   

ifthen

\documentclass{article} 
\usepackage{ifthen}
\newboolean{long}   

\begin{document}

\setboolean{long}{false}   
\ifthenelse{\boolean{long}}{long version}{short version} 

\setboolean{long}{true}
\ifthenelse{\boolean{long}}{long version}{short version}  
\end{document} 

答案2

我赞同 Herbert 使用该comment软件包。:)以下是使用etoolbox和 的可能解决方案\iftoggle{<name>}{<true>}{<false>}

\documentclass{article}

\usepackage{etoolbox}

\providetoggle{long}
\settoggle{long}{true}

\begin{document}

\iftoggle{long}{Overhead the albatross hangs motionless upon the air.}%
{And deep beneath the rolling waves in labyrinths of coral caves.}

\end{document}

还有\nottoggle{<name>}{<not true>}{<not false>}否定测试的。

答案3

不需要加载包的解决方案是

\documentclass{article}

\newif\iflong
\longtrue % switch to false in short version
\newcommand{\inLongVersion}[1]{\iflong #1\fi}

\begin{document}

Overhead the albatross hangs motionless upon the air. %
\inLongVersion{And deep beneath the rolling waves in labyrinths of coral caves.}

\end{document}

相关内容