2010-11-03 87 views
0

是否有另一種方法可以將多個參數輸入到LaTex newcommand結構中?我已經定義LaTex newcommand的替代輸入

\newcommand{\nuc}[2]{\ensuremath{^{\text{#1}}\text{#2}}} 

,我想通過

\nuc{12,C} 

,而不是

\nuc{12}{C}. 

調用命令我創建其他命令甚至更多的參數和我的小指窮人」處理所有的括號。

謝謝!

回答

-1

就像我知道的那樣,\nuc{12}{c}是唯一的方法。如果你不想放置所有的「} {」,讓編輯去做。先寫\nuc{12,c},然後用「} {」s替換所有的逗號。

+0

不幸的是,用{}替換逗號會導致文本其餘部分出現問題。現在也許使用「,,」可以工作,或者其他字符串不可能存在於文本的其他地方。 – 2010-11-04 02:27:39

1

也許你會喜歡它。

\def\nuC#1,#2.{\ensuremath{^{\text{#1}}\text{#2}}} 

使用的樣本:

\nuc 12,C. 

注意。最後使用點。

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不是你的榜樣,但我覺得它是一個有吸引力的視頻。