<html><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head><body bgcolor="#FFFFFF" text="#000000"><br>
<span>

</span><br>
<blockquote style="border: 0px none;" 
cite="mid:87r2n7e03v.fsf@gmail.com" type="cite">
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="width:100%;border-top:2px solid #EDF1F4;padding-top:10px;">   <div
 
style="display:inline-block;white-space:nowrap;vertical-align:middle;width:49%;">
        <a moz-do-not-send="true" href="mailto:nyraghu27132@gmail.com" 
style="color:#485664 
!important;padding-right:6px;font-weight:500;text-decoration:none 
!important;">N. Raghavendra</a></div>   <div 
style="display:inline-block;white-space:nowrap;vertical-align:middle;width:48%;text-align:
 right;">     <font color="#909AA4"><span style="padding-left:6px">22. 
April 2018 um 17:23</span></font></div>    </div></div>
  <div style="color:#909AA4;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><div>I was wondering if it is 
alright to use underscores in the names of<br>macros, e.g, as in the 
following file.  It looks like \startsetups, and<br>\def accept names 
with hyphens, underscores, and numerals, but<br>\starttexdefinition 
doesn't tolerate any of them.<br><br>1. In general, what characters are 
allowed in macro names?  Are Unicode<br>   characters admissible?<br><br>2.
 Apart from the fact that one can use whitespace freely in<br>   
\starttexdefinition, is there any reason to prefer it over \def?<br><br>Thanks,<br>Raghu.<br><br>------------------------------------------------------------<br>\starttext<br><br>\startsetups
 [hello-world_1]<br>  Hello, world 1!<br>\stopsetups<br><br>\setups 
[hello-world_1]<br><br>\def\hello-world_2{Hello, world 2!}<br>
</div></div>
</blockquote>
You’re defining a command named \hello which has to be followed by the 
string "-world_2".<br>
<br>
<br>
You can use the following example as test.<br>
<br>
%%%% begin example<br>
\starttext<br>
<br>
\def\hello-1{Hello \letterhash 1}<br>
<br>
\def\hello-2{Hello \letterhash 2}<br>
<br>
\hello-1<br>
<br>
\hello-2<br>
<br>
\stoptext<br>
%%%% end example<br>
<br>
Here I create a command named \hello which has to be followed by “-1" 
and "-2".<br>
<br>
When you run TeX on this example you get the following error message:<br>
<br>
%%%% begin error message<br>
tex error       > tex error on line 7 in file 
/Users/wolf/TeX/test/test.tex: ! Use of \hello doesn't match its 
definition<br>
<br>
l.7 \hello-1<br>
%%%% end error message<br>
<br>
Wolfgang<br>
</body></html>