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”

참으로 주어지거나 참 으로 간주 #1되어야 하며 , 그렇다면 한 수준의 확장이나 임의의 숫자를 허용하기를 원합니다. 테스트는 각 경우마다 다소 다릅니다.{tree}\def\x{tree}..... {\x}

하지만 아마도

\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

관련 정보