Iovem” post=78191Ciao a tutti,
ho la necessità di inserire molti oggetti flottanti (grafici di [tt]pgfplots[/tt]) ruotati in formato landscape. Inizialmente ho utilizzato il pacchetto [tt]rotating[/tt] con l’opzione [tt]figuresright[/tt], includendo quindi il grafico con l’ambiente [tt]sidewaysfigure[/tt].Mi è stato poi fatto notare che per facilitare la lettura a schermo sarebbe meglio ruotare la visualizzazione di queste pagine. Sono quindi passato al pacchetto [tt]pdflscape[/tt] e l’ambiente [tt]landscape[/tt]:
`
\begin{landscape}
\begin{figure}
\input{my_file}
\caption{Consumi elettrici dell'impianto di condizionamento}
\label{fig:label}
\end{figure}
\end{landscape}
`
in questo modo però l’ambiente [tt]landscape[/tt] inserisce un [tt]\clearpage[/tt] per cui interrompe il flusso del testo.La soluzione è stata quindi usare [tt]\afterpage[/tt]:
`
\afterpage{\begin{landscape}
\begin{figure}
\input{my_file}
\caption{Consumi elettrici dell'impianto di condizionamento}
\label{fig:label}
\end{figure}
\end{landscape}}
`Il risultato è quello voluto. Ora vorrei creare un ambiente (e non un comando) che mi permettesse si ottenere l’effetto de codice precedente; qualcosa del tipo:
`
\begin{mylscape}
\input{my_file}
\caption{Consumi elettrici dell'impianto di condizionamento}
\label{fig:label}
\end{mylscape}
`
solo che non capisco come inserire [tt]\afterpage[/tt] all’interno di [tt]\newenvironment[/tt].C’è qualcuno che può aiutarmi?
Grazie in anticipo
Andrea
Proverei così:
`\usepackage{environ}
\NewEnviron{mylscape}{%
\def\tempmylscape{\begin{landscape}\begin{figure}}%
\expandafter\expandafter\expandafter\afterpage
\expandafter\expandafter\expandafter{\expandafter\tempmylscape\BODY\end{figure}\end{landscape}}%
}`
Con environ e [tt]\NewEnviron[/tt] l’ambiente [tt]mylscape[/tt] mette in [tt]\BODY[/tt] il contenuto dell’ambiente stesso. Ma prima di passarlo a [tt]\afterpage[/tt] dobbiamo espanderlo, perché un semplice
`\afterpage{\begin{landscape}\begin{figure}\BODY\end{figure}\end{landscape}}`
non funzionerebbe: il significato di [tt]\BODY[/tt] sparisce quando l’ambiente è terminato. Con un giudizioso uso di qualche [tt]\expandafter[/tt] (solo sette :)) si otterrà il risultato desiderato.
Ciao
Enrico