[cstex] posunutie vlozenych pdf stran k okrajom

Zdenek Wagner zdenek.wagner at gmail.com
Thu Sep 19 10:20:17 CEST 2013


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.

> 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
>



-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz




More information about the csTeX mailing list