با سلام
من یک متغیر به صورت زیر تعریف کرده ام
\gdef
\@glossType{persian}
\def\glossTyp
e#1{\gdef\@glossType{#1}}
بعد در جایی از فایل لاتک قبل از \begin{document}
به آن مقداری می دهم
\glossType{persian}
اکنون می خواهم یک ifو esle بنویسم که اگر متغیر برابر با persian بود یکسری کارها را انجام دهد و اگر برابر با english
یکسری کارهای دیگر
چگونه می توانم این کار را انجام دهم؟
باتشکر
من الان دسترسی به منابعم ندارم که جواب بدهم ولی جواب سوال شما در کتاب The Tex Book کنوث هست.
\documentclass{article}
\usepackage{xepersian}
\makeatletter
\newcommand{\my@gloss@persian}{%
کارهایی برای واژهنامه پارسی آنجام بده%
}
\newcommand{\my@gloss@english}{%
کارهایی برای واژهنامه لاتین آنجام بده%
}
\newcommand*{\glossType}[1]{%
\ifcsname my@gloss@#1\endcsname
\csname my@gloss@#1\expandafter\endcsname
\else
\PackageError{my-package}%
{Invalid argument `#1' for \string\glossType}%
\@ehc
\fi
}
\makeatother
\begin{document}
\glossType{persian}
\bigskip
\glossType{english}
\bigskip
%\glossType{turkish}
\end{document}