پارسی‌لاتک

لاتک LATEX => حروف‌چینی مستندات => نويسنده: ابوالفضل دیانت در ژانویه 06, 2012, 12:37:47 بعد از ظهر

عنوان: نحوه تعریف if و else
رسال شده توسط: ابوالفضل دیانت در ژانویه 06, 2012, 12:37:47 بعد از ظهر
با سلام
من یک متغیر به صورت زیر تعریف کرده ام
‎‎‎\gdef
\@glossType{persian}
\def\glossTyp
e#1{\gdef\@glossType{#1}}‎‎
بعد در جایی از فایل لاتک قبل از \begin{document}
به آن مقداری می دهم
\glossType{persian}‎

اکنون می خواهم یک if‌و esle بنویسم که اگر متغیر برابر با persian بود یکسری کارها را انجام دهد و اگر برابر با english
یکسری کارهای دیگر
چگونه می توانم این کار را انجام دهم؟
باتشکر
عنوان: پاسخ : نحوه تعریف if و else
رسال شده توسط: هادی صفی‌اقدم در ژانویه 06, 2012, 12:39:37 بعد از ظهر
من الان دسترسی به منابعم ندارم که جواب بدهم ولی جواب سوال شما در کتاب The Tex Book کنوث هست.
عنوان: پاسخ : نحوه تعریف if و else
رسال شده توسط: vafa در جون 30, 2012, 10:09:21 قبل از ظهر

\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}