[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