Aktivni znaky
Michal Kubecek
kubecek at karlin.mff.cuni.cz
Thu Oct 8 11:19:32 CEST 1998
> tak jsem si trosku zacal hrat s TeXem a narazil jsem na jeden problem.
> Chtel jsem si udelat makro, ktere mi vysazi strucny obsah kapitoly. Melo
> se chovat asi takto. \strucne{blbla1 * blalba2 * blabla3}, pricemz
> blabla1-3 by byli strucne obsahy odstavcu. Makro melo vysazet text takto:
Snad 'byly', ne? Pratele, typograficka uroven dokumentu je sice
dulezita, gramaticka spravnost ale take neni zanedbatelna...
> blabla1 \oddelovatko blabla2 \oddelovatko blabla3, cili hlavne mi slo o to
> nahradit '*' nejakym mym makrem. Pokusil jsem se to udelat asi takto:
>
> {\catcode`\*=13
> \def\strucne#1{
> \catcode`\*=13
> \def*{---}
> \bf #1
> }}
>
> To ovsem nefunguje. Zduvodnuji si to tim, ze pri predani parametru makru
> se substituuje ihned do kodu a ne az kdyz je kod pouzit - t.j. je
> hvezdicka zmenena na aktivni znak. A ja se ptam - lze to nejak zaridit,
Vidim tam jeste dva problemy: \strucne musi byt definovano
pomoci \gdef (jinak TeX po skonceni skupiny definici zase s klidem
zapomene). Druhy problem: jedna skupina by jeste mela byt uvnitr
definice \strucne - jinak naopak TeX nezapomene zmenu catcode
hvezdicky po expanzi makra (a od prvniho pouziti \strucne budete
mit hvezdicku aktivni az do konce). Jeste je tam zavlecena mezera
na radku '\def*{---}' a ze stejnych duvodu jako vyse bude zbytek
dokumentu od prvniho pouziti tucne.
Problem, ktery zminujete, by se obesel napriklad takto:
\def\strucne{\bgroup\catcode`\*=13 \strucnE}
{\catcode`\*=13
\gdef\strucnE#1{%
\def*{---}%
{\bf #1}%
\egroup
}
}
> A jeste jeden dotaz - jednoduchy - jak nastavit velikost tiskoveho
> zrcadla v plainu a okraje na strance a jake jsou tyto hodnoty doporuceny
> pro cesky tisk?
\hoffset=... (sirka leveho okraje - 1in)
\hsize=... (sirka zrcadla)
\voffset=... (vyska horniho okraje - 1in)
\vsize=... (vyska zrcadla)
Hodnoty vam nedoporucim, to je vec osobniho vkusu - zalezi taky
hodne na tom, co na te strance ma byt (a samozrejme na velikosti
papiru).
Michal Kubecek
More information about the csTeX
mailing list