A5paper nefunguje
Vit Zyka
vit.zyka at seznam.cz
Wed Aug 3 17:13:36 CEST 2005
Marcel Svitalský wrote:
> Vit Zyka wrote:
>
>> 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
>>
>
> Tohle (jak pracuje \newif) vím (no tedy, v zásadě vím :-)) ), avšak mám
> právě za to, že při \let=\neco se \neco dále nezkoumá (vizte též TBN
> 385-386). Zkuste:
>
> \ifx\huhu\undefined
> \let\huhu=\ifx
> \fi
Zvolil jste vetev podminky, ktera projde. Testujte opacny pripad
\ifx\huhu\par
\let\huhu=\ifx
\fi
S pozdravem
Vit Zyka
> \huhu\hehe\undefined
> hehe undefined
> \else
> hehe defined
> \fi
>
> \huhu\huhu\undefined
> huhu undefined
> \else
> huhu defined
> \fi
>
> \bye
>
> kde také jsou v prvním testu jakoby dva \ifx s jen jedním \fi, ale
> ničemu to nevadí, protože to \ifx v \let je pouze považováno za token,
> jenž je přiřazen povelu \huhu. A funguje i poslední test, kde po expanzi
> vlastně mám opět dvakrát \ifx se znovu jen jedním \fi.
>
> Marcel Svitalský
> --
>
> **********************************************************
> GPG public key (ID 0xD98EC83A) fingerprint:
> 3BEB 4658 A998 B9B3 3476 AD64 EF87 D0A5 D98E C83A
>
--
=======================================================
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