Re: Ridefinire \@makecaption e \caption

#58997
Up
0
Down
::


Si è stato il mio primo tentativo, ecco il codice:

`
\newlength\figureWidth
\newenvironment*{tikzgraphic}[4]{%
% #1 = total picture width(cm)
% #2 = picture name
\@float{figure}
\centering
\edef\CAP{#3}
\edef\LAB{#4}
\begin{tikzpicture}[remember picture]
\def\Ydist{1ex}
\def\Xdist{.5ex}
\def\YH{5ex}
\def\XH{\YH}
\def\TH{2ex}
\pgfmathsetmacro{\PictureWidth}{(#1-(2*(\Xdist+\YH)))*2.54/72}
\node[inner sep=-\pgflinewidth/2] (figure) at (0,0){\includegraphics[width=\PictureWidth cm]{#2}};
\edef\ddt{width=\PictureWidth cm}
%\show\ddt
\foreach \sign/\loc in {+/north,-/south}{
\coordinate (A\loc) at ($(figure.\loc)+(\PictureWidth/2,\sign\Ydist)$);
\coordinate (B\loc) at ($(A\loc)+(0,\sign\YH)$);
\coordinate (C\loc) at ($(B\loc)-(\PictureWidth,0)$);
\coordinate (D\loc) at ($(C\loc)+(0,-\sign\YH)$);
\fill[HEAD](A\loc)–(B\loc)–(C\loc)–(D\loc)–cycle;
}

\foreach \sign/\loc in {+/east,-/west}{
\coordinate (E\loc) at ($(figure.south \loc)+(\sign\Xdist,-\Ydist)$);
\coordinate (F\loc) at ($(E\loc)+(0,-\YH)$);
\coordinate (G\loc) at ($(figure.north \loc)+(\sign\Xdist,\Ydist)$);
\coordinate (H\loc) at ($(G\loc)+(0,+\YH)$);
\fill[HEAD] (F\loc)arc[radius=\YH,start angle=-90,delta angle=\sign90]–
($(current bounding box.north \loc)-(0,\YH)$)
arc[radius=\YH,start angle={90-\sign 90},delta angle=\sign90]–
(G\loc)arc[radius={\YH-\TH},start angle=90,delta angle=-\sign90]–
($(current bounding box.south \loc)+(-\sign\TH,{2*\YH-\TH})$)
arc[radius={\YH-\TH},start angle={90-\sign 90},delta angle=-\sign90]–
cycle;
}}{\end{tikzpicture}\caption{\CAP}\label{\LAB}\end@float}
`

il risultato è questo

L’intento è di inserire la caption all’interno del rettangolo inferiore, il quale avrà le seguenti dimensioni:

    larghezza: larghezza testo se inferiore alla larghezza della figura, larghezzafigura se caption troppo lunga
    altezza: pari al numero di righe in cui si divide il testo della caption

Dopo essere riuscito a disegnare la cornice intorno alla figura, mi sono reso conto che non sono buono a passare certi parametri al comando caption, quindi ora sto battendo la strada della modifica del comando \caption.

Consigli?

Michele

Go to top