Open main menu

Changes

1,877 bytes added ,  23:52, 8 September 2023
Added another example
See [http:{{Reference|name=doif...|attributes=}} * <tt>\doifnextcharelse</tt>* <tt>\doifundefined</tt>, <tt>\doifdefined</tt>, etc.* <tt>\doif</tt>, <tt>\doifnot</tt>, <tt>\doifelse</tt>* <tt>\doifempty</tt>, <tt>\doifnotempty</tt>, <tt>\doifemptyelse</tt>* <tt>\doifinset</tt>, <tt>\doifnotinset</tt>, <tt>\doifnotinsetelse</tt>* <tt>\doifcommon</tt>, <tt>\doifnotcommon</tt>, <tt>\doifcommonelse</tt>* <tt>\doifsamestringselse</tt>,<tt>\doifsamestring</tt>,<tt>\doifnotsamestring</tt>* <tt>\doifinstringelse</tt>,<tt>\doifincsnameelse</tt>* <tt>\doifnumberelse</tt>* <tt>\doifassignmentelse</tt>* <tt>\doiftext</tt>, <tt>\doiftextelse</tt> — empty string* <tt>\doifrightpageelse</tt> (precede by {{cmd|signalrightpage}})* {{cmd|doifdocumentargument}}* <tt>{{cmd|doifelseindented}}</wikitt> (LMTX only) == Examples ===== Example 1: Date Macro ===<context mode="mkiv" source="yes">\startTEXpage[offset=5mm] %--- Commands Needed %\setvariable{NAME}{KEY}{VALUE} => \getvariable{NAME}{KEY} %\defineexpandable[n] %\doifnumberelse{TEXT}{TRUE_CASE}{FALSE_CASE}  \defineexpandable[1]\notToday{% \start\dorecurse{#1}{\increment\normalday}\currentdate\stop% }% \defineexpandable\Date{% \doifnumberelse{\getvariable{Document}{Date}}{\notToday{\getvariable{Document}{Date}}}{\currentdate}% }%  \setvariable{Document}{Date}{today}  Today is \Date.contextgarden \setvariable{Document}{Date}{7} In a week will be \Date.net\stopTEXpage</System_Macroscontext> === Example 2: Using Lua ===We can also write tests using Lua. (Example by WS, 3/Branches_and_Decisions#2011.) <context mode="mkiv" source="yes">\startTEXpage \ctxlua{test = true} Test is \ctxlua{commands.doifelse(test)}{True}{False}. \ctxlua{test = false}  Test is \ctxlua{commands.5Cdoifemptydoifelse(test)}{True}{False}.2C_\stopTEXpage</context> == See also == [[System Macros/Branches and Decisions|Branches and Decisions]] == Help from ConTeXt-Mailinglist/Forum ==All issues with:{{Forum|{{SUBPAGENAME}}}} [[Category:Command/Internals|doif.5Cdoifnotempty.2C_.5Cdoifemptyelse]]
194

edits