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