哪些文件徹底解釋如何使用 TeX 條件?

哪些文件徹底解釋如何使用 TeX 條件?

我有一個需要大量純 TeX 條件的文檔,例如:

IF #1 >= 1 AND #2 >= 10
IF #1 != “tree” OR #2 == “mountain”
IF 10 > #1 > 2

我發現關於這個主題的文檔有限,大多數都非常簡潔且不容易理解,或者它們只是描述各個組件,但沒有解釋它們如何一起使用。哪些文件全面描述如何建立簡單的 TeX 條件,同時提供充足的範例程式碼,並展示如何避免常見錯誤?

答案1

正如評論中提到的,TeXBook 是這些東西的終極參考。但也值得一提的是,在本網站或其他地方搜尋免費文件時可能會有所幫助的術語。

條件本身\if \ifnum和友元都是 TeX原語而不是在純 TeX 中定義。 TeX 本身不提供布林運算符,例如 OR 和 AND,儘管各種宏包當然實現了這些運算符(透過適當嵌套原語 if 結構),但普通 TeX 實際上並未定義任何此類巨集。因此,對您的問題進行字面閱讀(但沒有那麼有幫助)會得出沒有文件的答案,因為純 TeX 沒有 AND 或 OR。 (有一個\or原語與 一起使用\ifcase,但不是您的問題所暗示的中綴連接器)。

你的第一個例子:

IF #1 >= 1 AND #2 >= 10

\ifnum#1>1 
  \ifnum#2>9
     yes
   \else
     no
   \fi
 \else
 no
\fi

你的第二個例子,在這裡你必須更具體

IF #1 != “tree” OR #2 == “mountain”

does#1必須被指定為{tree}或確實\def\x{tree}..... {\x}算作 true,如果是這樣,您是否只想允許一級擴展或任意數量。每種情況下的測試都相當不同。

但也許

\def\treetest{tree}\def\mountaintest{mountain}
\def\testa{#1}\def\testb{#2}
\ifx\treetest\testa
   \ifx\mountaintest\testb
      yes
    \else
      no
    \fi
 \else
   yes
 \fi

這個確實跟第一個一樣。

IF 10 > #1 > 2

相關內容