سؤال

وأنا جديدة على مطاط ويجب أن أقول أنني حقا تكافح معها. اكتشفت \ newcommand الأمر الذي هو نوع من مثل وظيفة / طريقة في لغات البرمجة العادية. يمكنك إعطائها الحجج وكل شيء.

وكنت أتساءل رغم ذلك، يمكنني تكرار بطريقة أو بأخرى في اللثي؟ أساسا، ما أود القيام به هو إنشاء جدول مع N + 1 الأعمدة حيث الصف الأول يحتوي فقط خلية فارغة ثم أرقام 1، 2، ...، N في الأعمدة الأخرى. أريد فقط أن يعطي N كحجة لهذا 'وظيفة' (newcommand).

وهنا مثال لشيء ما قد تبدو مثل ما أنا أبحث عن (على الرغم من الواضح أن هذا لن ينجح):

\newcommand{\mytable}[2]{  
\begin{tabular}{l|*{#1}{c|}} % table with first argument+1 columns  
  for(int i = 1; i <= #1; i++) "& i" % 'output' numbers in different columns  
  \\\hline  
  letters & #2 % second argument should contain actual content for row  
  \\\hline  
\end{tabular}  
}

ويطلق عليه بما يلي:

\mytable{3}{a & b & c}

ويجب أن يكون الإخراج:

        | 1 | 2 | 3 |
--------+---+---+---+
letters | a | b | c |
--------+---+---+---+

لا أحد يعرف إذا كان هناك شيء من هذا القبيل هو ممكن؟

وشكرا!

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

المحلول

والعمة جوجل تقول نعم .

نصائح أخرى

وجعل مجرد التالية في أمر جديد وتأكد من استخدام حزمة ifthen.

\begin{tabular}{l|*{10}{c|}}
\newcounter{count}
\whiledo{\value{count}<10}{
\ifthenelse{\value{count}=0}{}{\the\value{count}}
\ifthenelse{\value{count}<9}{&}{\\}
\stepcounter{count}
}
letters&a&b&c&d&e&f&g&h&i\\
\end{tabular}

ويمكنك استخدام \loop أو \repeat الرموز. أو multido الحزمة.

من المؤكد انه من الممكن. يمكنك أيضا تتكرر. eplain لديها وحدات الماكرو التكرار فيه، انظر على سبيل المثال، هنا .

وهناك احتمال آخر (إذا كنت كسول مثلي) هو <وأ href = "http://www.ctan.org/tex-archive/macros/latex/contrib/perltex/" يختلط = "نوفولو noreferrer" عنوان = "perltex"> perltex

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