[cstex] Cteni radku ze souboru
Petr Sojka
sojka at fi.muni.cz
Wed Jan 23 23:34:15 CET 2008
On Wed, Jan 23, 2008 at 10:51:28PM +0100, petr.kucera at gyby.cz wrote:
Dobrý den,
> prosím Vás, potřebuji ze souboru přečíst jeden určitý řádek.
> Dělám to pomocí makra
>
> \newcommand{\readln}
> {
Makro tedy zacina sazbou mezery.
> \chardef\soubor=15
> \openin\soubor=pr1.txt
> \read\soubor to \radek
> \closein\soubor
> \radek
> }
>
> Toto makro je velice zjednoduseno, ale i tak se chová jinak, než bych
> předpokládal. Napíši-li do zdojáku např.:
>
> \noindent Text
> \setbox30=\hbox{Text}
>
> \noindent\readln
> \setbox31=\hbox{\readln}
>
> \chardef\soubor=15
> \openin\soubor=pr1.txt
> \read\soubor to \radek
> \closein\soubor
> \noindent\radek
> \setbox32=\hbox{\radek}
>
> \the\wd30::\the\wd31::\the\wd32
>
> tak se sice vypíše 3x "Text", ale pokaždé jinak odsazen a jednotlivé
> boxy mají šířky po řadě 20.00003pt, 26.66669pt a 23.33336pt. V čem je
> problém?
Problem je ve spatnem zachazeni s mezerami (resp. neuvedomenim
si jejich pritomnosti). Rozdil sirek je dan zakladni velikosti
mezery v beznem fontu (3.33333pt), v \readln jsou dve navic oproti
"Text", v poslednim pripade o jednu (coz uvidite, kdyz si body vysadite
treba oramovane.
S pozdravem
--ps
More information about the csTeX
mailing list