Re: tabelle e margini

#54356
Up
0
Down
::

Versione “definitiva”:
`\usepackage{ifthen}
\makeatletter
\newsavebox{\ivan@box}
\newcounter{ivan@cntr}
\def\ivanvbox#1{\sbox\ivan@box{%
\stepcounter{ivan@cntr}\label{ivan@label\arabic{ivan@cntr}}%
\def\captionof##1##2{\gdef\@thisboxcaption{\captionof{##1}{##2}}\ignorespaces}
\unskip#1}% end of \ivan@box
\ifdim\wd\ivan@box<\columnwidth \normalivan@box \else \bigivan@box \fi} \def\normalivan@box{% \par\addvspace{\bigskipamount} \noindent\parbox{\textwidth}{\centering \@thisboxcaption\unhbox\ivan@box} \par\addvspace{\bigskipamount}} \def\bigivan@box{% \par\addvspace{\bigskipamount} \noindent\parbox{\textwidth}{\centering \@thisboxcaption \ifthenelse{\isodd{\pageref{ivan@label\arabic{ivan@cntr}}}} {\def\ivan@side{l}}{\def\ivan@side{r}}% \checkivan@wd \makebox[\columnwidth][\ivan@side]{\box\ivan@box}} \par\addvspace{\bigskipamount}} \def\checkivan@wd{% \ifdim\wd\ivan@box>\dimexpr\textwidth+\marginparsep+\marginparwidth\relax
Tabella troppo grande\\
\fi}
\makeatother`
Ciao
Enrico

Problemino…
Poniamo di avere una tabella nell’appendice C, con label “tabella”. Se richiamo la tabella con \ref{tabella}, il riferimento che risulta è C, e non C.1. In pratica i \ref alle tabelle incluse in \ivanvbox fanno riferimento soltanto al capitolo e non alla tabella. Come mai?

Ciao
Ivan

Go to top