[cstex] zlom strany pred PDF obrazkom

Vit Zyka vit.zyka at gmail.com
Thu Nov 6 09:06:15 CET 2008


Zdravicko,

Zdenek Wagner wrote:
> 2008/11/5 Petr Olsak <petr at olsak.net>:
>> Vitejte,
>>
>> chyba je zjevne v \includegraphics, ovsem nechce se mi ji hledat
>> (necht si ji najdou latexiste, kteri tento balicek pouzivaji).
>> Pri pokusu:
>>
>> \message{textwidth>>> \the\textwidth}

tady asi Petr mel

   \message{textheight>>> \the\textheight}

>> \setbox0=
>> \hbox{\includegraphics[width=\textwidth,height=\textheight]{cokoli.pdf}}
>> \message{box>>> \the\ht0, \the\dp0}
>>
>> a zpracovani pdflatexem dostavame:
>>
>> textwidth>>> 550.0pt box>>> 550.02182pt, 0.0pt
>>
>> takze \includegraphics vytvori o 0.02182pt vetsi box, nez po nem chceme.

tez si myslim, ze jde o chybu graphics/graphicx, protoze

----------------
\documentclass[a4paper]{article}
\usepackage{graphicx}
\begin{document}
\message{textheight>>> \the\textheight}%
\setbox0=\hbox{%
   \includegraphics[width=\textwidth,height=\textheight]{f.pdf}}%
\message{includegraphics box>>> \the\ht0, \the\dp0}%
\setbox0=\hbox{%
   \pdfximage width\textwidth height\textheight{f.pdf}%
   \pdfrefximage\pdflastximage}%
\message{pdftex box>>> \the\ht0, \the\dp0}%
\box0%
\end{document}
------------------
primitivu pdftexu \pdfximage mame moznost zadat sirku i vysku. V tomto 
pripade neni treba vubec nic pocitat na urovni makrojazyka, 
transformacni matici pripravi sam pdftex (i se zaokrouhlovaci chybou) a 
velikost vznileho boxu pro sazbu zachova presne dle zadani. Navic pro 
muj dokument (7x5 mm) vysla chyba dokonce 1.20515 pt a to mne prijde na 
zaokrouhlovani docela dost. Cekal bych ji tak o dva az tri rady mene.

Vit Zyka

> Ona to muze byt obycejna zaokrouhlovaci chyba. V PDF totiz neexistuje
> prikaz "vloz objekt zvetseny/zmenseny na zadanou velikost", ale pouze
> prikaz "zmen transformacni matici" + "vloz objekt". LaTeX tedy zmeri
> vkladany objekt a z pozadovanych vyslednych rozmeru vypocte scaling.
> Protoze nepracuje s nekonecnou presnosti, vyjde priblizne cislo. Aby
> se vlozenim objektu sazba nerozjela, je mozne, ze skutecnou velikost
> nevezme z parametru, ale znovu ji vypocte z puvodni velikosti a z
> vypoctene hodnoty scaling. Tim vznikne trochu jina hodnota. Tohle
> vysvetleni je vsak jen moje spekulace, nechce se mi ten balicek
> zkoumat, ale mozna by neco udelal pokus se zmerenim boxu, kde by byl
> \includegraphics{obrazek} bez nepovinnych parametru (tj. v prirozene
> velikosti) a boxu obsahujiciho \includegraphics[scale=2]{obrazek}. Zde
> by IMHO zadna zaokrouhlovaci chyba vzniknout nemela.
> 
>> Prazdna strana je navic jakasi specialita LaTeXu, ze totiz do vertikalniho
>> seznamu zanasi moznost zlomu pred prvnim materialem vlozenym uzivatelem (to
>> plain nedela). Takze prvni zlom je v tom miste, ktery zanase LaTeX
>> (\tracingpages to prozradi), pak na druhe strane mame preteceny box
>> o 0.02182pt a na pripadne dalsi strane mame zase preteceny box.
>>
>> Zdravim
>>
>> Petr Olsak
>>
>>
>> On Wed, 5 Nov 2008, Jan Janech wrote:
>>
>>> Dobry den,
>>>
>>> neviem preco, ale LaTeX mi vklada pred obrazok koniec strany. Teda, iba
>>> za konkretnych okolnosti.
>>>
>>> Takze vsetko porade. "Obrazok" je vlastne stranka vygenerovana LaTeXom.
>>> Podarilo sa mi to cele zjednodusit do takehoto prikladu:
>>>
>>> Na vygenerovanie "obrazka" pouzijem nasledujuci skript a vytvorim pdf.
>>>
>>> ~~~~~~~~~~~ a.tex ~~~~~~~~~~~~~~
>>> \documentclass{article}
>>>
>>> \begin{document}
>>>   a
>>> \end{document}
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>
>>> Pouzitie obrazka je takymto sposobom:
>>>
>>> ~~~~~~~~~~~ b.tex ~~~~~~~~~~~~~~
>>> \documentclass{article}
>>>
>>> \usepackage{graphicx}
>>>
>>> \begin{document}
>>> \includegraphics[width=\textwidth,height=\textheight]{a.pdf}
>>> \end{document}
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>
>>> Ako vysledok dostanem dve strany, pricom znak 'a' je az na druhej
>>> strane. Ked dokument upravim na:
>>> ~~~~~~~~~~~ b.tex ~~~~~~~~~~~~~~
>>> \documentclass{article}
>>>
>>> \usepackage{graphicx}
>>>
>>> \begin{document}
>>> \includegraphics[width=\textwidth,height=\textheight]{a.pdf}
>>> \includegraphics[width=\textwidth,height=\textheight]{a.pdf}
>>> \end{document}
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> Dostanem tri strany, pricom znak 'a' je na druhej a tretej strane. Teda
>>> pred druhy vyskyt mi zbytocny zlom strany nevlozi. To, aby mi zlom
>>> strany nevlozil vobec dosiahnem takto:
>>> ~~~~~~~~~~~ b.tex ~~~~~~~~~~~~~~
>>> \documentclass{article}
>>>
>>> \usepackage{graphicx}
>>>
>>> \begin{document}
>>> \includegraphics[width=\textwidth,height=0.999\textheight]{a.pdf}
>>> \end{document}
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> Co sa mi ale samozrejme nepaci.
>>>
>>> Vie mi niekto poradit, ako to vyriesit spravne?
>>>
>>> Dakujem
>>>
>>> Jan Janech




More information about the csTeX mailing list