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