Predefinovani podtrzitka?

Tomas Zahradnicky zahradt at cslab.felk.cvut.cz
Fri Jul 23 19:12:11 CEST 2004


>On Fri, Jul 23, 2004 at 05:04:27PM +0200, Tomas Zahradnicky wrote:
>>  nevite nekdo jakym zpusobem se da predefinovat podtrzitko tak, aby v
>>  horizontalnim modu psalo podtrzitko a v matematickem fungovalo
>>  normalne?
>
>   \catcode`\_=\active
>   \def_{\ifmmode\sb\else\_\fi}
>
>mi funguje, avsak za vedlejsi efekty nerucim ;-)
>
>Vase definice
>
>   \catcode`\_=13 %aktivizace podtrzitka
>   \def_{\ifhmode\char95\fi}
>
>sice nedela, co ma, protoze v mat. modu podtrzitko zrusi
>uplne a v horizontalnim nefunguje, protoze znak 95 neni v CM
>fontech podtrzitko (musi se udelat trikem, ktery dela \_),
>ale rozhodne by po ni nemelo podtrzitko fungovat jako dolni
>index -- pokud funguje, tak se nekde musela vratit kategorie
>znaku zpet.

diky za radu. Ono proc to vlastne potrebuju:

pisu jmena funkci, ve kterych se vyskutyji hodne _ a ty se samozrejme
pisi typewriterem. problem byl v tom, ze se to nacitalo jako token
jine kategorie --- proto inaccessible. po pul hodine jsem dal
dohromady fungujici verzi:

\let\theSubscript=_
\catcode`\_=13
\def_{\ifmmode\expandafter\theSubscript\else\if\the\fam7\char95\relax\else\_\fi\fi}

\def\fun#1{{\tt #1}}

udelal jsem to aby to fungovalo takto: pokud jsme v matematickem
modu, funguje _ jako kdy pred tim. pokud jsme v horizontalnim nebo
vertikalnim modu, zjisti se jaky se pouziva font. pokud je to
typewriter (family 7) tak se vykresli podtrzitko nativni tomuto fontu
a v jinem pripade se pouzije \_, ikdyz ja preferuji \underbar{ }.

-Tomas
--
# Ing. Tomas Zahradnicky, Jr.
# The Czech Technical University
# Dept of Computer Science, FEE-CTU Prague



More information about the csTeX mailing list