lorenzo.pantieri” post=97070Come vedete, le sottodidascalie non sono perfettamente allineate: “Alcuni valori” è più in basso di “Grafico”. La differenza è evidente, si nota anche a occhio nudo, senza ingrandire il PDF. Soluzioni?
Usare TikZ per allineare la figura e la tabella, mettendo quest’ultima in un nodo di TikZ.
`\documentclass{article}
\usepackage{tikz,pgfplots,booktabs,subfig}
\begin{document}
\begin{figure}
\centering
\subfloat[][Grafico.]{
\begin{tikzpicture} [baseline=-6mm, font=\small]
\begin{axis} [width=0.7\textwidth,
anchor=origin,
axis lines=middle,
xmin=-5,xmax=5,ymin=0,ymax=16,
enlargelimits,
xtick={-4,…,4},
ytick={0,…,16},
xlabel=$x$,
ylabel=$y$]
\addplot [domain=-4:4, samples=500,smooth,very thick,blue] {2^x};
\addplot [only marks, samples at={-4,-3,-2,-1,0,1,2,3,4}, blue] {2^x};
\end{axis}
\end{tikzpicture}
}
\quad
\subfloat[][Alcuni valori.]{
\begin{tikzpicture} [baseline=-6mm]
\node [above, inner sep=0pt, outer sep=-0.04em] {
\begin{tabular}{rl}
\toprule
$x$ & $y=2^x$ \\
\midrule
$-4$ & $2^{-4} = 1/16$ \\
$-3$ & $2^{-3} = 1/8$ \\
$-2$ & $2^{-2} = 1/4$ \\
$-1$ & $2^{-1}= 1/2$ \\
$0$ & $2^{0} = 1$ \\
$1$ & $2^1 = 2$ \\
$2$ & $2^2 = 4$ \\
$3$ & $2^3 = 8$ \\
$4$ & $2^4 = 16$ \\
\bottomrule
\end{tabular}
};
\end{tikzpicture}
}
\caption{La funzione $y=2^x$.}
\label{fig:esponenzialecrescente}
\end{figure}
\end{document}`
Spiegazione:
1) [tt]baseline=-6mm[/tt] dice che in entrambi i disegni la linea che si trova 6 mm sotto l’origine del disegno corrisponde alla linea di base del testo. Il valore di 6 mm è scelto arbitrariamente (sicuramente si può calcolare automaticamente)
2) [tt]anchor=origin[/tt] dice che l’origine del grafico corrisponde anche all’origine del disegno. Mi serve per allineare l’asse x con la linea inferiore della tabella
3) [tt]above, inner sep=0pt, outer sep=-0.04em[/tt] dicono che l’origine del disegno si trova sulla linea inferiore della tabella. In particolare il valore 0.04em tiene conto del fatto che la linea della tabella è spessa 0.08em per default e in questo modo l’origine viene a trovarsi a metà spessore della linea.
Riepilogando, abbiamo detto che l’asse x deve corrispondere alla linea inferiore della tabella e che la linea di base del testo deve trovarsi 6 mm più in basso.
Sicuramente c’è un modo di farlo senza usare TikZ.
Ciao