# Tag Info

2

You need to define \rmbrcs as expand-only macro: \def\rmbrcs#1{\expandafter\rmbrcsA#1()\end} \def\rmbrcsA#1(#2)#3\end{\ifx\end#3\end #1\else \rmbrcsA#1#2#3\end\fi} There is no need to worry about tail recursion (dangling \fi) as the argument here will be simple text not some recursive thing.

7

\sindex, like \index expands no macro by design, unless it's called as argument to another command. However, your \rmBrcs command doesn't work purely by expansion, in particular \StrDel is not performed during a \write operation, so you don't get what you want anyway with the trick \newcommand{\Sindex}[2][]{\sindex[#1]{#2}} or similar. You have to take ...

1

As for your second question, you have it basically ok. Just modify these lines as following (treat them as submolecules): \path node(A){\chemfig{ !{\sera{1}}-[,0.3,,,draw=none] !{\serb{2}}-[,0.3,,,draw=none] !{\sera{3}}-[,0.3,,,draw=none] }}; Compiling it with pdflatex should do the work.

4

In short: Omit the curly braces around #1, #2, ... Example: \href{http://stbarnabaschapel.net/asm/proj{#2}.asm} If #2 is foobar, then it expands to: \href{http://stbarnabaschapel.net/asm/proj{foobar}.asm} The curly braces are not going away, because they are not parsed as argument. Thus the curly braces become part of the URL. Also \href{{#1}} is ...

6

Aren't we mixing 2e conventions and expl3 conventions here? As an alternative to Joseph's answer how about: Have a version of \overset in expl3 conventions, i.e., \cs_set_eq:NN \overset:nn \overset % not a very good expl3 name though :-) Provide the variant you need here, i.e., \cs_generate_variant:Nn \overset:nn { no } Then use simply ...

1

May be defining your own seq_mapthread_inline? \cs_new_protected:Npn \aellet_seq_mapthread_inline:NNn #1 #2 #3 { \cs_set:Npn \__aellet_tmp:w ##1 ##2 { #3 } \seq_mapthread_function:NNN #1 #2 \__aellet_tmp:w }

Top 50 recent answers are included