[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