## LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

 Options: Use Classic View Use Monospaced Font Show Text Part by Default Condense Mail Headers Topic: [<< First] [< Prev] [Next >] [Last >>]

 Sender: Mailing list for the LaTeX3 project <[log in to unmask]> Date: Sun, 14 Sep 2008 10:17:08 +0100 Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]> Subject: Re: Generic quark test MIME-Version: 1.0 Content-Transfer-Encoding: 7bit In-Reply-To: <[log in to unmask]> Content-Type: text/plain; charset=us-ascii From: Chris Rowley <[log in to unmask]> Parts/Attachments: text/plain (39 lines) Will Some ideas in private as this is displacement activity for me this week (two papers to finish, plus the 'mathematical part' of the new Content MathML part of the spec) and so I do not want to get dragged into lengthy discussions on public lists. You are welcome to cut parts of this onto the list. > > \def_new:Npn \if_quark:wT #1#2#3\q_stop { > > \int_compare:nNnT {\char_value_uccode:n{#2}} = {Q} > > } Assuming my detective faculties have not completely siezed up, what is being attempted here is to test with expansion only the first letter of the 'name of the quark'. One challenge, as I see it, is to build expandable tests for arbitrary (prefix) strings. This may not be a 5-star challenge with e-TeX? Then we could have a longer prefix such as your \q_quark for all quarks (and hope that no idiot uses the prefix for anything else). To better avoid such idiocy it could be arbitrarily wierd, eg:    \q_Q__K_ ... > \def_new:Npn \quark_new:N #1{\tlp_new:Nn #1{\q_quark#1}} The creator then needs to be (in possibly correct, or possibly pseudo, code??):    \def_new:Npn \quark_new:n #1{\tlp_new:cn {q_Q_K_#1}{\q_Q_K_#1}} Makes sense? ... maybe. chris `