Salve, sono al mio primo post (credo) e probabilmente è un quesito piuttosto banale; nonostante questo da solo non riesco a venirne fuori.
Vorrei ottenere un documento con un elenco di copertine di libri e relative descrizioni, alternandoli di lato; ovvero se nel primo metto a sinistra la descrizione e a destra la copertina, nella successiva riga voglio mettera a sinistra la copertina e a destra la descrizione.
Per affiancare testo e immagini ho banalmente usato tabular e minipage, ad esempio così:
`
{\Large \textit{L'eleganza del riccio} – Muriel Barbery}
\medskip\begin{tabular} {rl}
\begin{minipage}{50mm}
\begin{center}\includegraphics{imago/barbery.eps}\end{center}
\end{minipage}\begin{minipage}{110mm}
blablablablabla
\end{minipage}\end{tabular}
`Però ho pensato di definire un ambiente personalizzato per non ripetere fino alla noia tutto l’ambaradan. E qui sono iniziati i dolori. Tra i parametri dovrei mettere anche il nome dell’immagine e nel caso di copertina a destra, tale parametro dovrebbe essere esplicitato nella definizione di chiusura dell’ambiente, dove, ho scoperto con mio grande rammarico, non posso usare parametri.
Ho provato a definire un comando di apertura e uno di chiusura, ma sembra che mettere in un comando dei tag di apertura di un ambiente senza chiuderli non sia molto apprezzato da LaTeX.
Suppongo che 5cm sia la larghezza massima delle immagini. Io userei una minipage anche per racchiudere il tutto:
`\usepackage{calc}
\newenvironment{imagetoleft}[3]
{\par\bigskip\noindent\begin{minipage}{\textwidth}
{\Large\textit{#1} — #2\par}
\begin{minipage}{5cm}
\centering\includegraphics{#3}
\end{minipage}\hfill
\begin{minipage}{\textwidth-2em-5cm}}
{\end{minipage}\end{minipage}\par\bigskip}
\newenvironment{imagetoright}[3]
{\def\imagename{#3}%
\par\bigskip\noindent\begin{minipage}{\textwidth}
{\Large\textit{#1} — #2\par}
\begin{minipage}{\textwidth-2em-5cm}}
{\end{minipage}\hfill
\begin{minipage}{5cm}
\centering\includegraphics{\imagename}
\end{minipage}\end{minipage}\par\bigskip}`
Si può modificare abbastanza facilmente se desideri che il tutto sia leggermente rientrato rispetto ai margini o se vuoi aumentare lo spazio fra immagine e testo.
Nota il trucco per usare un parametro nella parte finale dell’ambiente: definisco una macro che posso così usare al posto del parametro.
`\begin{imagetoleft}{L'eleganza del riccio}{Muriel Barbery}{imago/barbery}
bla bla
\end{imagetoleft}
\begin{imagetoright}{L'eleganza del riccio}{Muriel Barbery}{imago/barbery}
bla bla
\end{imagetoright}`
Ciao
Enrico