Как сравнить с макросами в латексе - PullRequest
0 голосов
/ 08 марта 2019

Я хочу сравнить два макроса \ Lgiii с тем, который читается как # 1, в макросе fex

\def\fex(#1,#2)
ifx\Lgiii#1
  do something
else
  do something else
fi

Однако, похоже, это не работает, и, возможно, у кого-то есть быстрое решение для этого.

1 Ответ

1 голос
/ 09 марта 2019

Чтобы сравнить макросы, вам нужно сохранить аргумент внутри некоторого макроса;это позволяет использовать \ifx:

enter image description here

\documentclass{article}

\def\fex(#1,#2){%
  \def\Lgi{#1}% Store first argument in \Lgi
  \ifx\Lgiii\Lgi
    do something
  \else
    do something else
  \fi
}
\def\Lgiii{something \relax + 2}

\begin{document}

\fex(this,that)

\fex(something \relax + 2,that)

\fex(something \relax +2,that)

\end{document}
...