是否有另一种方法可以为LaTex新命令构造输入多个参数?我已经定义了
\newcommand{\nuc}[2]{\ensuremath{^{\text{#1}}\text{#2}}}
我想通过
调用命令\nuc{12,C}
而不是
\nuc{12}{C}.
我创建了更多参数的其他命令,而我的可怜的小指不能处理所有括号。
谢谢!
答案 0 :(得分:1)
也许你会喜欢它。
\def\nuc #1,#2.{\ensuremath{^{\text{#1}}\text{#2}}}
使用样本:
\nuc 12,C.
请注意。最后使用点。
答案 1 :(得分:1)
我喜欢赞美perltex来定义复杂的函数。这并不复杂,但你可以非常令人印象深刻地扩展它。
%myfile.tex
\documentclass{article}
\usepackage{perltex}
\perlnewcommand{\commafrac}[1]{
$input = shift;
@inputs = split(/,/, $input);
return "\\ensuremath{\\frac{$inputs[0]}{$inputs[1]}}";
}
\begin{document}
One half is $\commafrac{1,2}$.
\end{document}
与perltex --latex=pdflatex myfile.tex
汇编。我知道\ frac不是你的榜样,但我发现它是一个视觉上吸引人的。
答案 2 :(得分:0)
使用普通TeX \def
:
\makeatletter
\newcommand*{\nuc}[1]{\nuc@#1\@nil}
\newcommand*{\nuc@}{}
\protected\def\nuc@#1,#2\@nil{\ensuremath{^{\text{#1}}\text{#2}}}
\makeatother
答案 3 :(得分:-1)
我知道\nuc{12}{c}
是唯一的方法。如果您不想放置所有“} {”,请让编辑器执行此操作。先写\nuc{12,c}
,然后用“} {”s替换所有逗号。