problem s \tt

Rylek Tomas RYLEK at cslab.felk.cvut.cz
Wed Dec 11 11:28:19 CET 1996


    Vazeny pane kolego!

> >     pri psani jsem narazil na nasledujici problem. Potrebuju napsat
> > max_value ve fontu tt, ale {\tt max\_ value} mi napise neco hrozneho
> > (podtrzitko zasahuje jeste i do pismenka v). Nevite co s tim??
>
> Prvni pomoc:  {\tt max\_{}value}, nevypada to nejhur.
> Jinak by mohlo pomoci treba
> {\tt max\hbox to 1em{\hrulefill}}
> (pripadne zmenit vysku toho hrulefill, dat dovnitr boxu male mezirky
> okolo atd.); druhe reseni nemam vyzkousene, takze napr. nevim, jestli

Podle meho nazoru vsechny tyto problemy jsou zpusobeny tim, ze v
Plain TeXu (soubor plain.tex) je \_ definovano nikoli jako znak
`podtrzitko' (v ASCII sade, tedy nacitany z fontu), ale prave jako
nejaky \hrule - tedy carka `vypocitane' delky. Pritom specialne \tt
font se vetsinou pouziva na zobrazeni ruznych pocitacovych hlaseni,
nazvu identifikatoru apod., kde cilem je prave napodobit
pismena na textovem terminalu pocitace; mimo jine je velmi vhodne,
kdyz vsechny znaky jsou stejne siroke, coz standardni \_ ve fontu \tt
nesplnuje.

Takze se domnivam, ze pro tyto ucely je nejvhodnejsi nadefinovat \tt-
podtrzitko jako znak 95 v \tt fontu:

\documentstyle[11pt,czech]{article}

\makeatletter
\begingroup
 \catcode`_=11
 \gdef\ubar{_}
\endgroup

\begin{document}
Tohle jsou normalni podtrzitka: {\tt ahoj\_vole}.

\setbox0\hbox{normalni}

Tohle jsou \makebox[\wd0][l]{znakova} podtrzitka: {\tt ahoj\ubar
vole}.
\end{document}

Ve fontu \rm to pouzivat nejde, protoze tam znak s ASCII codem 95
neni definovany jako podtrzitko, ale jako tecka. Kazdopadne takhle se
zobrazuji podtrzitka v prostredi \verb#...# a \begin{verbatim} -
\end{verbatim}.

                                            S pozdravem

                                                        Tomas Rylek



More information about the csTeX mailing list