Re: giustificare in un makebox a seconda del numero di pagina

#45564
Up
0
Down
::


Grazie, Claudio ed Enrico, per la risposta.
Ho provato la soluzione di Enrico e funziona perfettamente per i miei scopi.
Ho notato che quando l’oggetto flottante viene posizionato abbastanza lontano dal punto nel codice in cui viene inserito l’ambiente dancingfigure, il posizionamento dell’immagine all’interno di \makebox fallisce. In quei casi sono costretto a ‘forzare’ l’inserimento della figura con la macro \afterpage. Ma ritengo questo comportamento abbastanza ‘fisiologico’.

Ho generalizzato l’ambiente dancingfigure e la macro \includedancing suggeriti da Enrico in modo che accettino altri parametri. Ciò fornisce la possibilità all’utente di apportare aggiustamenti alle varie dimensioni in gioco. Ho anche aggiunto la possibilità di ‘sollevare’ il contenuto di \makebox.
L’esempio seguente mostra un caso tipico:

Il codice da inserire nel preambolo è il seguente:
`
\newcounter{dancingfigure}
\newenvironment{dancingfigure}[2][]
{\refstepcounter{dancingfigure}%
\edef\temp{\noexpand\label{DF@\arabic{dancingfigure}}}\temp
\ifthenelse{\isodd{\pageref{DF@\arabic{dancingfigure}}}}
{\odddancingfigure}{\evendancingfigure}
\begin{SCfigure}[#2][#1]}
{\end{SCfigure}}
\newcommand{\odddancingfigure}{\def\positioning{r}}
\newcommand{\evendancingfigure}{\def\positioning{l}}
\newcommand{\dancinginclude}[5]{% all mandatory parameters
\makebox[#1][\positioning]{%
\raisebox{#5}{%
\includegraphics[width=#2,#3]{#4}}}}

`

Un esempio d’uso è il seguente:
`
\begin{dancingfigure}%
[t]% position on the page
{1.7}% sidecaption with, in terms of box width
\dancinginclude%
{0.58\textwidth}% box width
{0.84\textwidth}% image width (inside box)
{}% additional option in includegraphics
{immagine.pdf}
{4.0em}% raise the image of this amount
\caption{\finalhyphendemerits=1000
Coppie inerziali in presenza di accelerazione angolare $\dot{r}$ e di una
velocità angolare $\vec{\Omega}$ di componenti $(p,q,r)$ rispetto agli
assi centrali d'inerzia del velivolo.
Le masse concentrate del sistema equivalente disposte lungo gli assi $\xi$ ed $\eta$
sono soggette a forze d'inerzia centrifuge dovute alla proiezione
$\vec{\Omega}_{\!\xi\eta}$ di $\vec{\Omega}$ nel piano $\xi\eta$.
}%
\label{fig:AC:Coppie:Inerziali:OmXY}%
\end{dancingfigure}

`

Come si vede dall’esempio, la scatola che contiene l’immagine ha larghezza w=0.58\textwidth. La larghezza della didascalia è pari a 1.7w. L’immagine ha invece larghezza w’=0.84\textwidth, è inserita nella scatola ed è giustificata a destra (perché in questo caso siamo in una oddpage).
Infine, il contenuto della scatola viene sollevato di una quantità h=4em attraverso la macro \raisebox.

Ciao,
Agostino

Go to top