Kol. WP dba żebym nie wyszedł z wprawy w temacie znajomości LaTeXa.
Jakiś czas temu zażyczył sobie znaków cięcia (zwanych także paserami). Znaki cięcia mają określać wielkość kartki papieru jako 290x205mm (prawie A4). Mają być umieszczone na stronie o nietypowych wymiarach 330x250mm.
Używając pakietu crop
można powyższe zalecenie
zrealizować następująco:
\documentclass{article} %% Inne pakiety dołączyć tutaj ... \setlength\paperheight {290mm}\setlength\paperwidth{205mm} \usepackage[cam,center,width=250truemm,height=330truemm,pdftex]{crop} %% %% Kolumna ma być wyśrodkowana na kartce (zalecenie drukarni) %% Margines wynosi ( \paperwidth -\textwidth )/2 \oddsidemargin 18.5truemm %% dla \textwidth = 168mm \evensidemargin\oddsidemargin \begin{document} ... \end{document}
No i działa. Dokument jest składany XeTeXem; używa w związku z tym pakietów
polyglossia
, fontspec
, xunicode
oraz xltxtra
.
Powyższe pakiety korzystają z kolei ze stada pakietów z l3kernel/l3packages bundles
(fragment przyszłej, ciągle tworzonej od 20 bodajże lat, trzeciej wersji LaTeXa -- LaTeX3 project).
Po jakimś czasie okazało się, że nie działa w MikTeX 2.09. Pierwsza (tytułowa) strona jest podniesiona (względem znaków cięcia) o ok 4mm w porównaniu do wszystkich następnych.
Po dłuższym badaniu stwierdzono, że winna jest dwuwierszowa pagina górna znajdująca się na stronie tytułowej. Wydawała się niegroźna i co więcej, dokument był poprawnie kompilowany, ale tylko w dystrybucji TL 2011. Coś zmieniono w zestawie pakietów l3* (których jest dużo jak wiemy) i to te pakiety odpowiadają za błąd.
Żeby obejść problem postanowiłem składać dwuwierszową paginę w pudełko pionowe (\vbox
)
o wysokości równej wysokości wiersza tekstu:
\setbox0\hbox{\PM@HeaderFont\strut} %% \newdimen\PM@HeaderHt \PM@HeaderHt=\ht0 \def\PM@vboxToOneLine#1{\vbox to\PM@HeaderHt{#1\vss}} %% ^^^^^^^ pudełko o wysokości wiersza tekstu ^^ %% %% ... \fancypagestyle{plain}{%% zawartość paginy na stronie tytułowej: \fancyhf{} % %% ... \fancyhead[L]{\leavevmode \hbox{\PM@vboxToOneLine{\PM@HeaderFont pierwszy-wiersz ... \\ ... drugi wiersz ...}}} % \fancyhead[R]{\leavevmode \hbox{\PM@vboxToOneLine{\PM@HeaderFont pierwszy-wiersz ... \\ ... drugi wiersz ...}}} %% ... }
Teraz działa lepiej.
Nawiasem mówiąc dwuwierszowe paginy to kiepski pomysł. W szczególności
fancyhdr
wyrównuje górne wiersze pagin, co oznacza,
że np. kreska pod paginą będzie nie wyrównana jeżeli (przykładowo) lewa pagina jest dwuwierszowa a prawa jednowierszowa.
W omawianym przypadku nie ma kreski pod paginą, dwuwierszowa
pagina jest zdefiniowana wyłącznie na stronie tytułowej (której układ jest znakomicie różny od pozostałych stron)
a i tak skończyło się problemem.