打开并解码

打开并解码

我习惯使用\pato{R}{2015}{07}{27}{A}{1}{4}{black}
\inputsub-archive R20150727A1-4.tex并且它对我有用。

我怎样才能执行一个新命令,比如说\otap{R20150727A1-4},解码和分配:

R--> first variable;  
2015 --> second variable;

等等?

谢谢

答案1

这可能不太优雅,但它有效:

\def\scanonetonine#1#2#3#4#5#6#7#8#9{%
    \def\myletter{#1}%
    \def\myyear{#2#3#4#5}%
    \def\mymonth{#6#7}%
    \def\myday{#8#9}%
    \scanrest
}
\def\scanrest#1#2#3#4{%
    \def\myrest{#1#2#3#4}%
}
\def\otap#1{{%
    \scanonetonine#1%
    % now we can do anything with \my*, but let's just print them here
    (\myletter)(\myyear)(\mymonth)(\myday)(\myrest)%
}}

有了这些定义,输出中\otap{R20150727A1-4}会产生(R)(2015)(07)(27)(A1-4)。由于最后一条命令中的组,这些宏在的扩展\otap完成后消失。

%行尾的符号都是必要的,以避免产生不需要的空白。

相关内容