Sender: |
|
Date: |
Thu, 18 Sep 2008 13:31:20 +0100 |
Reply-To: |
|
Subject: |
|
MIME-Version: |
1.0 |
Content-Transfer-Encoding: |
7bit |
In-Reply-To: |
|
Content-Type: |
text/plain; charset=UTF-8 |
From: |
|
Parts/Attachments: |
|
|
Hello,
To save everyone a little time, how about the following for a
comprehensive set (following the \char_if_<whatever> names where available):
\def_new:Npn \char_make_escape:N #1 {
\char_set_catcode:nn {`#1} {\c_zero}
}
\def_new:Npn \char_make_begin_group:N #1 {
\char_set_catcode:nn {`#1} {\c_one}
}
\def_new:Npn \char_make_begin_end:N #1 {
\char_set_catcode:nn {`#1} {\c_two}
}
\def_new:Npn \char_make_math_shift:N #1 {
\char_set_catcode:nn {`#1} {\c_three}
}
\def_new:Npn \char_make_alignment:N #1 {
\char_set_catcode:nn {`#1} {\c_four}
}
\def_new:Npn \char_make_end_line:N #1 {
\char_set_catcode:nn {`#1} {\c_five}
}
\def_new:Npn \char_make_parameter:N #1 {
\char_set_catcode:nn {`#1} {\c_six}
}
\def_new:Npn \char_make_math_superscript:N #1 {
\char_set_catcode:nn {`#1} {\c_seven}
}
\def_new:Npn \char_make_math_subscript:N #1 {
\char_set_catcode:nn {`#1} {8}
}
\def_new:Npn \char_make_ignore:N #1 {
\char_set_catcode:nn {`#1} {\c_nine}
}
\def_new:Npn \char_make_space:N #1 {
\char_set_catcode:nn {`#1} {\c_ten}
}
\def_new:Npn \char_make_letter:N #1 {
\char_set_catcode:nn {`#1} {\c_eleven}
}
\def_new:Npn \char_make_other_char:N #1 {
\char_set_catcode:nn {`#1} {12}
}
\def_new:Npn \char_make_active_char:N #1 {
\char_set_catcode:nn {`#1} {13}
}
\def_new:Npn \char_make_comment:N #1 {
\char_set_catcode:nn {`#1} {14}
}
\def_new:Npn \char_make_invalid:N #1 {
\char_set_catcode:nn {`#1} {15}
}
\def_new:Npn \char_make_escape:n #1 {
\char_set_catcode:nn {#1} {\c_zero}
}
\def_new:Npn \char_make_begin_group:n #1 {
\char_set_catcode:nn {#1} {\c_one}
}
\def_new:Npn \char_make_begin_end:n #1 {
\char_set_catcode:nn {#1} {\c_two}
}
\def_new:Npn \char_make_math_shift:n #1 {
\char_set_catcode:nn {#1} {\c_three}
}
\def_new:Npn \char_make_alignment:n #1 {
\char_set_catcode:nn {#1} {\c_four}
}
\def_new:Npn \char_make_end_line:n #1 {
\char_set_catcode:nn {#1} {\c_five}
}
\def_new:Npn \char_make_parameter:n #1 {
\char_set_catcode:nn {#1} {\c_six}
}
\def_new:Npn \char_make_math_superscript:n #1 {
\char_set_catcode:nn {#1} {\c_seven}
}
\def_new:Npn \char_make_math_subscript:n #1 {
\char_set_catcode:nn {#1} {8}
}
\def_new:Npn \char_make_ignore:n #1 {
\char_set_catcode:nn {#1} {\c_nine}
}
\def_new:Npn \char_make_space:n #1 {
\char_set_catcode:nn {#1} {\c_ten}
}
\def_new:Npn \char_make_letter:n #1 {
\char_set_catcode:nn {#1} {\c_eleven}
}
\def_new:Npn \char_make_other_char:n #1 {
\char_set_catcode:nn {#1} {12}
}
\def_new:Npn \char_make_active_char:n #1 {
\char_set_catcode:nn {#1} {13}
}
\def_new:Npn \char_make_comment:n #1 {
\char_set_catcode:nn {#1} {14}
}
\def_new:Npn \char_make_invalid:n #1 {
\char_set_catcode:nn {#1} {15}
}
with \char_make_<whatever>:n taking a number and \char_make_<whatever>:N
requiring a single (escaped) token, for example:
\char_make_other:N \$
\char_make_letter:n {`\$}
--
Joseph Wright
|
|
|