A5paper nefunguje
Vit Zyka
vit.zyka at seznam.cz
Tue Aug 2 21:58:56 CEST 2005
Marcel Svitalský wrote:
> Vit Zyka wrote:
>
>> Marcel Svitalský wrote:
>>
>>> Mně funguje pro PDF toto v LaTeXu:
>>>
>>> \documentclass[a5paper]{article}
>>> \ifx\pdfoutput\undefined\else
>>
>>
>>
>> Lepe:
>> \newif\ifPDF
>> \ifx\pdfoutput\undefined
>> \else\ifnum\pdfoutput>0 \expandafter\PDFtrue\fi
>> \fi
>>
>> \ifPDF
>>
>> Vit Zyka
>>
>>> % PDF
>>> \setlength{\pdfpagewidth}{148.5mm}
>>> \setlength{\pdfpageheight}{210mm}
>>> \fi
>>>
>
> Ta výhoda je zřejmá, nerozumím ale tomu, proč je tam třeba ten
> \expandafter, tedy za jakých okolností by to bez něj nemělo stejný
> výsledek.
>
> Marcel Svitalský
Pravdou je, ze mne tam jedno \expandafter vypadlo:
\newif\ifPDF
\ifx\pdfoutput\undefined
\else\ifnum\pdfoutput>0 \expandafter\PDFtrue\expandafter\fi
\fi
TeX pred vyhodnocenim podminky provadi plnou expanzi. Protoze
\newif\ifPDF definuje \PDFtrue na \let\ifPDF=\iftrue, pak je-li
\pdfoutput=1 bude TeX ve verzi bez expandafteru postupne zpracovavat
\ifx\pdfoutput\undefined
\else\ifnum\pdfoutput>0 \let\ifPDF\pdftrue\expandafter\fi
\fi
kde \pdftrue se provede v prikazu \let. Pak se ukonci obe podminky a vse
bude v poradku. Kdyz vsak \pdfoutput=0, TeX zkouma ne jen, kde je konec
podminky \ifnum, ale take, zda neni uvnitr nejaka jina vnorena podminka.
A najde \iftrue. Ten pozere jedno \fi a to pak bude schazet k ukonceni
predchozich podminek. A dojde k chybe.
S expandafter expanze zpusobi, ze \PDFtrue se ocitne jakoby az za
\fi\fi. Diky tomu se podminky uzavrou spravne, protoze vsak TeX
nezapomnel, ze \PDFtrue pochazi z nepravdive vetve, neprovede jej.
S pozdravem
Vit Zyka
=======================================================
Ing. Vít Zýka, Ph.D. TYPOkvítek
database publishing databazove publikovani
data maintaining and typesetting in typographic quality
priprava dat a jejich sazba v typograficke kvalite
tel.: (+420) 777 198 189 www: http://typokvitek.com
=======================================================
More information about the csTeX
mailing list