Re: ArteLaTeX (febbraio 2012) figura 8: bibliografie suddivise

#80630
Up
0
Down
::

cfiandra” post=79896Per quanto riguarda la colorazione della parte piegata: è un vero casino… cioè, siccome il path viene originato a metà di un arco, prosegue verso una seconda metà di un arco prima di dirigersi in una coordinata nota (l’angolo del foglio) mi riesce complicato con le conoscenze attuali capire come fare.

Infatti. Bene, me lo segno: [tt]start angle[/tt] e [tt]end angle[/tt] con le ellissi non funzionano come ci si aspetterebbe. Gli angoli che si danno non vengono presi come riferiti all’ellisse stessa, bensì al cerchio che la contiene. Mi ci è voluto un po’ per capire come funzionasse la cosa, ma alla fine l’ho trovata spiegata qui. La documentazione certo è spartana, per nulla chiara:

[tt]\pgfpatharc{start angle}{end angle}{radius and y-radius}[/tt]

Imaging the curve between start angle and end angle on a circle of radius

Comunque:`
\documentclass[a4paper]{article}

\usepackage{tikz}
\usetikzlibrary{calc,backgrounds}
\usepackage[labelfont=bf]{caption}
\usepackage{subfig}

\def\foldedpagefold{1cm}
\def\foldedpagecorner{0.4}
\newcommand\includefoldedpage[2][]{%
\begin{tikzpicture}[inner sep=0pt, x=1pt, y=1pt]
\node (foldedpage) {\includegraphics[#1]{#2}};
\begin{scope}[on background layer]
\pgfmathparse{\foldedpagefold}\let\a\pgfmathresult
\pgfmathparse{(\foldedpagecorner*\foldedpagefold)}\let\b\pgfmathresult
% pagina
\draw[fill=cyan!10]
($(foldedpage.north east)-(\a,\a)$) arc (90:0:{\a} and \b) |-
(foldedpage.south west) |-
($(foldedpage.north east)-(\a+\b,0)$) arc (90:0:{\b} and \a) — cycle;
% ombreggiatura
\draw[fill=black!10, draw=none]
($(foldedpage.north east)-(\a+\b,0)$)
arc (90:0:{\b} and \a) arc (90:0:{\a} and \b)
arc (0:90:\a-1 and \b-4) arc (0:90:\b+1 and \a+4);
% riempimento piega
\draw[fill=cyan!5]
($(foldedpage.north east)-(\a+\b,\a)+({\b^2/sqrt(\a^2+\b^2)},{\a^2/sqrt(\a^2+\b^2)})$)
arc (atan(\a/\b):0:{\b} and \a) arc (90:atan(\b/\a):{\a} and \b) — cycle;
% ricalco i due archi di ellisse rimanenti “sporcati'' dall'ombreggiatura
\draw ($(foldedpage.north east)-(\a+\b,0)$) arc (90:atan(\a/\b):{\b} and \a);
\draw ($(foldedpage.north east)-(0,\a+\b)$) arc (0:atan(\b/\a):{\a} and \b);
\end{scope}
\end{tikzpicture}%
}

\begin{document}
\begin{figure}
\centering
\subfloat[La bibliografia]{%
\includefoldedpage[width=0.45\textwidth,page=201]{ArteLaTeX.pdf}}\quad
\subfloat[L'indice analitico]{%
\includefoldedpage[width=0.45\textwidth,page=203]{ArteLaTeX.pdf}}
\caption{Materiale finale}
\end{figure}
\end{document}`
(Ridefinisco le unità di misura predefinite ([tt]x=1pt, y=1pt[/tt]) perché [tt]\pgfmathresult[/tt] è sempre espresso in punti, mentre [tt]\draw[/tt] si aspetterebbe centimetri.)

[tt]start angle[/tt] e [tt]end angle[/tt] sono individuati dai punti in cui la tangente all’ellisse è 45 gradi, aventi coordinate come \(P=(a^2/\sqrt{a^2+b^2},b^2/\sqrt{a^2+b^2})\). L’angolo formato con l’orizzontale (o la verticale, a seconda dei casi) è nella forma \(\alpha=\mathop{\rm atan}(b^2/a^2)\). Ma siccome pgf vuole l’angolo del cerchio che la circoscrive (è come se poi restringesse il cerchio, per tracciare l’ellisse), bisogna fare qualche calcolo: \(\alpha’=\mathop{\rm atan}(b/a)\).

[attachment=521]foldedpage2.jpg[/attachment]

Attachments:
You must be logged in to view attached files.

Go to top