كيفية تحديد الإخراج اعتمادا على متغير مع حالة في اللاتكس؟

StackOverflow https://stackoverflow.com/questions/421989

  •  05-07-2019
  •  | 
  •  

سؤال

لديّ بعض الأجزاء القياسية ، لكن جزءًا منه مختلفًا. ولكن من هذه الأجزاء المختلفة فقط بضع موجود.

على سبيل المثال أريد:

\mytext{...}{a}

\mytext{...}{b}

ينتج:

\section{Item: ...}\label{item...}
This is a standard item. Items of type a are very precious.

\section{Item: ...}\label{item...}
This is a standard item. Items of type b are cheap.

سيكون الحل البسيط لهذا هو تحديد الأوامر MyTexta و MyTextB ، ولكن بما أن لدي المزيد من الخيارات ، أريد أكثر من شيء مثل IF أو تبديل لغات البرمجة. هل قام أي شخص بحل لهذه المشكلة؟

هل كانت مفيدة؟

المحلول

ال ifthen تحدد الحزمة (التي يتم تضمينها في تثبيت اللاتكس القياسي) أمر \ifthenelse, ، الذي يستخدم مثل هذا:

\usepackage{ifthen}
\ifthenelse{test}{then-code}{else-code}

لذلك يمكنك أن تفعل شيئًا مشابهًا لـ:

\newcommand\mytext[1]{%
    \ifthenelse{\equal{#1}{a}}{very precious}{%
    \ifthenelse{\equal{#1}{b}}{cheap}{unknown}}}

للبرمجة اللاتكس ، أوصي بالحصول على نسخة من رفيق اللاتكس. إنها مرجع جيد حقًا لهذه الأشياء.

نصائح أخرى

يمكنك استخدام newif iffoo لإعلان حالة جديدة. ثم footrue أو foofalse يضعه على صواب أو خطأ ، ويمكنك استخدامه بواسطة iffoo ... else ... fi.

هناك المزيد من الشرطية ، انظر الصفحات 209 وما بعدها في Texbook.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top