[cstex] posunutie vlozenych pdf stran k okrajom

Jaromír Kuben jaromir.kuben at unob.cz
Thu Sep 19 12:18:31 CEST 2013


Dobrý den.

Zdenek Wagner napsal(a):
> Dne 19. září 2013 8:10 Petr Olsak <petr at olsak.net> napsal(a):
>> On Wed, 18 Sep 2013, Jaromír Kuben wrote:
>>
>>> Dobrý den.
>>>
>>> Zdenek Wagner napsal(a):
>>>>   Dne 18. září 2013 16:12 Petr Mikulik <mikulik at physics.muni.cz>
>>>> napsal(a):
>>>>>>>   Muzete zde prosim publikovat makro, ktere vrati pocet stran pdf >
>>>>>>>>>   souboru?
>>>>>>>>   % Makro na zjištění počtu stran v souboru a uložení do zadané >
>>>>>>>>>   kontrolní
>>>>>>   sekvence
>>>>>>   \def\ZWPDFgetnum #1
>>>>>> #2{\pdfximage{#1}\edef#2{\the\pdflastximagepages}}
>>>>>>   Díky, funguje to.
>>>>>>>   Zrovna tento problém popisuji v další kapitole TeXu pro
>>>>>>> pragmatiky, > >  kterou
>>>>>>   ještě nemám ve stadiu celkového zveřejnění. Nicméně, vyškubal
>>>>>>     http://petr.olsak.net/ftp/olsak/tpp/tpp-s.pdf
>>>>>>   Se zájmem jsem si tento popis přečetl. Díval jsem se pak na to, jak
>>>>>>>   závisí
>>>>>   velikost výstupního souboru, když si makrem \ZWPDFgetnum načtu počet
>>>>>   stránek, a ta se nemění, proto se dotazovaný pdf soubor určitě do >
>>>>> výstupního
>>>>>   pdf
>>>>>   nevloží.
>>>>>>   Proto si myslím, že v tpp-s.pdf hned na první stránce, kde se
>>>>>> diskutují
>>>>>   parametry pro \pdfximage, by mělo být napsáno, že když parametry >
>>>>> "height" a
>>>>>   "width" chybí, tak se obrázek netiskne, nikoliv že se tiskne v
>>>>> přirozené
>>>>>   velikosti. Nebo že se data načtou do paměti, ale ne že se vloží do
>>>>>   výstupního PDF.
>>>>>
>>>>   Ne, ten popis je dobře. Všimněte si, že potřebujete dva primitivy.
>>>>   Prvním primitivem se načte objekt do paměti, druhým primitivem se
>>>>   objekt pošle do výstupního souboru. Když si schováte číslo objektu
>>>>   tak, jak je to v popisu uvedeno, můžete jej vložit opakovaně, ale ve
>>>>   výsledném PDF bude jenom jednou. Představte si, že máte
>>>>   tisícistránkovou knihu a na každou stránku chcete vložit bitmapové
>>>>   logo. LaTeXový příkaz \includegraphics vloží do výsledného PDF tisíc
>>>>   identických objektů, zatímco popisovanou metodou vytvoříte jeden
>>>>   objekt v PDF, který bude tisíckrát použit. Rozdíl ve velikosti
>>>>   výsledného souboru může být obrovský. V jednom ze Zpravodajů to popsal
>>>>   i Vít Zýka.
>>
>>> Nicméně já jsem tomu rozuměl tak jako pan Mikulík. Petr Olšák píše, že
>>> příkaz \pdfximage vloží data obrázku do výstupního PDF. Pak by se velikost
>>> souboru musela změnit, i když by obrázek nebyl ani jednou zobrazen příkazem
>>> \pdfrefximage. Vypadá to tedy, že se načte do paměti a do souboru je
>>> přemístěn až po prvním zobrazení. Případná další zobrazení ho už pak znovu
>>> nepřesouvají. Nebo je to ještě nějak jinak? Rozhodně by mne to zajímalo, jak
>>> přesně to funguje a kdy vlastně dojde k přesunutí dat obrázku do souboru, je
>>> to užitečný poznatek.
>>>
>>> Zdraví
>>>              Jaromír Kuben
>>
>>
>> Připouštím, že v textu mám nepřesnost, které jsem se v zájmu jednoduchosti
>> dopustil záměrně, ale asi to ještě opravím. Opravdu přesný popis \pdfximage
>> je tento:
>>
>> Není-li \pdfximage prefixován pomocí \immediate, pak si pdfTeX přečte z
>> obrázku jen minimální potřebné údaje. Alokuje číslo objektu do
>> \pdflastximage, případně nastaví \pdflastximagepages. Dále z přečtených dat
>> zjistí, jak velký by vzniknul box po případném následném použití
>> \pdfrefximage.
>>
>> V okamžiku použití \pdfrefximage se taky nic moc neděje, jen se do sazby
>> vloží box potřebných rozměrů a značka. Teprve při výskytu této značky během
>> \shipout pdfTeX vyhodnotí, zda to je první výskyt obrázku. Pokud ano, pak
>> přesně v tomto okamžiku znovu otevře soubor s obrázkem a nyní jeho data
>> přemístí (a případně konvertuje) do výstupního PDF. To poznáme v logu tak,
>> že se tam zjeví <obrazek.pripona>. Je-li v shipout druhý nebo další výskyt
>> stejné značky, realizuje pdfTeX obrázek odkazem.
>>
>> No, a nyní mi poraďte, jak toto napsat stručně a pragmaticky v jedné větě...
>>
> Napadá mě jen Knuthův přístup z TeXbooku, dopustit se úmyslně mírné
> lži a v nějaké další kapitole to napsat přesně pro toho, kdo chce znát
> i detaily.
Taky si to myslím, mohlo by se to zahrnout jako podrobnosti pro 
zájemce.. Tak, jak jsi to napsal teď, je to dokonale jasné a 
srozumitelné. Bylo by škoda to nezařadit.
Zdraví
             Jaromír Kuben
>
>> Zdravím
>>
>> Petr Olšák
>>
>>
>>
>>
>>>>>>   V TeX Live je program pdfcrop, který ořeže i ve vícestránkovém
>>>>>> souboru
>>>>>>   každou stránku samostatně.
>>>>>>   Já tento program dosud používal pouze na jednostránkové obrázky, ale
>>>>>>>   opravdu
>>>>>   funguje i na vícestránkové (na každou stránku zvlášť).
>>>>>>   ---
>>>>>   Petr Mikulík
>>>>>   _______________________________________________
>>>>>   csTeX mailing list
>>>>>   csTeX at cs.felk.cvut.cz
>>>>>   https://lists.felk.cvut.cz/mailman/listinfo/cstex
>>>>>
>>> _______________________________________________
>>> csTeX mailing list
>>> csTeX at cs.felk.cvut.cz
>>> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>>
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>>
>
>




More information about the csTeX mailing list