È un bug di geometria o pgfpages?
Con il layout \usepackage[showframe]{geometry}inserito in 2 on 1pgfpages si produce un risultato inaspettato. Ho aggiornato il lattice la scorsa settimana, prima che questo problema non si presentasse
\documentclass{article}
\usepackage{lipsum}
\usepackage[showframe]{geometry}
\usepackage{pgfpages}
\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm,landscape]
\begin{document}
\lipsum[1-5]
\newpage
\lipsum[1-5]
\end{document}
Ecco come appariva prima dell'aggiornamento.
Risposte
Il problema è stato temporaneamente risolto aggiungendo una correzione a firstaid(come parte del formato LaTeX). Questo è stato inviato al CTAN quindi dovrebbe raggiungere le maggiori distribuzioni oggi o domani e da quel momento in poi dovrebbe funzionare di nuovo come prima.
Come ha osservato @AndrewStacey, il kernel deve fornire un'interfaccia per assumere il controllo alla fine della creazione di una pagina appena prima di spedirla nel file dvi / pdf poiché applicazioni come pgfmorepagesvogliono aggiungere ulteriore controllo su ciò che accade in questo fase (invece di spedire semplicemente la pagina).
Tuttavia, ciò non può essere fatto tramite un "hook" della nuova gestione degli hook poiché non si tratta di aggiungere codice aggiuntivo (dove diversi pacchetti potrebbero aggiungere codice e l'unica domanda da risolvere è in quale ordine) ma si tratta di cambiare processo e solo un processo può essere eseguito.
Il modello qui deve essere quello in cui un processo può essere scambiato con un altro, ma solo un processo è sempre attivo. Il mio termine provvisorio per questo è quello di un "punto di configurazione" e attualmente stiamo lavorando per appianare le interfacce e i concetti per questo. Una volta che sarà disponibile, lavoreremo con i manutentori dei pacchetti su come applicarli e poi rimuoveremo l'attuale "firstaid".
Questa non è una risposta, è una descrizione del problema. Sono certo che questo problema verrà affrontato presto in modo appropriato.
Il modo in cui funziona pgfpages(e la sua estensione, pgfmorepages- che mantengo) è dicendo a LaTeX: "Costruisci l' intera pagina esattamente come vuoi, quindi appena prima di spedirla, la prenderò e la scoiattolo via per considerazione successiva. ". Poi, in un momento successivo, dicono "Bene, ora voglio che tu spedisca esattamente questa pagina.".
Da questa descrizione, si spera che sia chiaro che è pgf[more]pagesnecessario interrompere la routine della spedizione all'ultimo momento. La pagina deve essere completa, inclusi intestazioni e piè di pagina, sfondi e bordi.
Dando un'occhiata al latex.ltxcodice, posso vedere che il team LaTeX ha lavorato dietro le quinte per semplificare il core LaTeX. Parte di ciò comporta l'inserimento di ganci in vari punti per consentire ai pacchetti di agganciarsi a varie routine in un modo più ordinato di quanto fosse possibile in precedenza. Immagino che lo scopo di questo sia quello di risolvere il pasticcio che sono i pacchetti in conflitto che cercano tutti di ridefinire lo stesso comando, ambiente o routine.
Per quanto riguarda la routine shipout, quindi, il nuovo kernel LaTeX aggiunge il proprio codice al momento della spedizione di una nuova pagina che fornisce l'accesso a tutti questi hook. Uno dei quali, tra l'altro, è usato da geometryper mettere la cornice intorno alla pagina ( geometrynon lo so - grazie alla magia del team LaTeX un sacco di pacchetti dovrebbero funzionare senza modifiche).
Quindi al momento abbiamo una condizione di gara in quanto sia LaTeX che pgf[more]pagesstiamo cercando di inserire il loro codice nella routine di spedizione ed entrambi funzionano sostituendo \shipoutcon il loro codice. L'ordine che dovrebbe accadere è che il codice di LaTeX funzioni prima e poi pgf[more]pagessecondo. Sfortunatamente, poiché LaTeX viene caricato prima pgf[more]pages, in realtà ciò che accade è che pgf[more]pagesviene eseguito prima e poi il codice LaTeX. Ciò significa che codice come geometry's showframesviene eseguito solo quando la pagina viene effettivamente spedita e non quando la pgf[more]pagesmemorizza. Questo è il motivo per cui i frame non sono corretti.
Ciò che sembra essere necessario è un hook "Right before shipout" che consenta pgf[more]pagesdi piombare all'ultimo minuto. Questo al momento non esiste, tuttavia dai commenti del team LaTeX sembrerebbe che siano a conoscenza del problema e lo affronteranno a breve.