سؤال
وأنا جديدة على مطاط ويجب أن أقول أنني حقا تكافح معها. اكتشفت \ 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