http://img174.imageshack.us/img174/3050/immagine1fi7.png
Quello che vorrei è che l'immagine fosse allineata alla parte alta del testo, e non
sfalsata. Veniamo a come ho implementato il tutto. Si tratta di una minipage che contiene
una tabella di 2 colonne ed una riga. Ora il fatto è che lui mi piazza sempre
quell'immagine in alto, almeno che non specifico la seconda colonna come
"m{0.8\textwidth}", però in quel caso l'immagine è centrata in verticale e non allineata
in alto come vorrei.
Probabilmente l'approccio è sbagliato. Idee???
Vi allego il codice:
\makeatletter\newenvironment{impbox2}{%
\setlength{\pya}{\textwidth}
\addtolength{\pya}{-2.3\parindent}
\vspace{5mm}\hspace*{0mm}\begin{lrbox}{\@tempboxa}\begin{minipage}[r]{\pya}\begin{tabular}{p{0.12\textwidth}
p{0.8\textwidth}}\includegraphics[height=10mm, width=20mm]{images/img1.jpg} &
\textbf{Importante:}}{\\ \end{tabular}\end{minipage}\end{lrbox}%
\fcolorbox{innergray}{outgray}{\usebox{\@tempboxa}}\vspace{5mm}
}\makeatother
Grazie a chi mi risponderà
--
Sito: http://www.carminenoviello.name
http://www.carminenoviello.name/wpg2
il nesting del codice mi lascia stupito, ma credo di aver capito che
nel tabular ci sono due celle di tipo 'p', il cui allineamento
verticale e' associato alla prima baseline di ciascuna cella
se in ciascuna cella tu mettessi una linea di altezza e profondita' nulla
dovresti ottenere quello che desideri
credo che ci potresti arrivare con qualche variazione sul tema
\vspace{0pt}
--
Hai capito benissimo quello che intendevi. -- AirCraft, in ISC
> se in ciascuna cella tu mettessi
prima di ogni altra cosa
>
> il nesting del codice mi lascia stupito
Ammetto di essere il peggior programmatore Latex del mondo :-PPPPPPP
> se in ciascuna cella tu mettessi una linea di altezza e profondita' nulla
> dovresti ottenere quello che desideri
>
> credo che ci potresti arrivare con qualche variazione sul tema
> \vspace{0pt}
Funge alla grande. SMACK :-)
Carmine
Ciao,
Stefano
> Anceh se hai già risolto il problema, volevo aggiungere che io mi sono
> sempre trovato bene, per quanto riguarda la costruzione di tabelle et
> similia, con la guida pubblicata da sarovar (vedi [1]), che contiene
> il codice di svariati tipi di tabelle, con diversi allineamenti delle
> celle: magari ti potranno essere utili in futuro. Tutto questo,
> ovviamente, senza nulla togliere alle varie persone che frequentano
> questo forum e che hanno prodotto varie guide!
>
> Ciao,
> Stefano
>
> [1] http://sarovar.org/projects/ltxprimer/
Grazie mille, sembra fatta proprio bene.
Qualcosa come questo?
\documentclass[a4paper]{article}
\usepackage{graphicx,color,lipsum}
\usepackage{calc}
\makeatletter
\newenvironment{impbox2}
{\par\addvspace{\medskipamount}
\begin{lrbox}{\@tempboxa}
\begin{minipage}[t]{.1\textwidth}
\vspace{\fboxsep}
\includegraphics[width=.1\textwidth]{try}
\end{minipage}\hspace{2pt}%
\begin{minipage}[t]{.9\textwidth-2\fboxsep-2\fboxrule-2pt}
\vspace{\fboxsep}
\textbf{Importante: }\ignorespaces
}
{%
\par\vspace{\fboxsep}
\end{minipage}%
\end{lrbox}%
\noindent\fcolorbox{black}{red}{\usebox{\@tempboxa}}%
\par\addvspace{\medskipamount}
}
\makeatother
\begin{document}
\lipsum[1]
\begin{impbox2}
\lipsum[2]
\end{impbox2}
\lipsum[3]
\end{document}
Ciao
Enrico
Ciao, grazie per aver dedicato il tuo tempo. La soluzione funziona, ma me la devo studiare
un po' per capire come funziona esattamente ;-P
Carmine
> Ciao, grazie per aver dedicato il tuo tempo. La soluzione funziona, ma
> me la devo studiare un po' per capire come funziona esattamente ;-P
Ecco la spiegazione.
> > \newenvironment{impbox2}
> > {\par\addvspace{\medskipamount}
Cominciamo mettendoci in modo verticale (\par) e aggiungiamo una
spaziatura media, per staccare la scatola colorata dal contesto.
Con \addvspace si evita l'accumulo e, in presenza di due spaziature
consecutive di questo tipo, viene usata solo la maggiore.
> > \begin{lrbox}{\@tempboxa}
Questo è come il tuo: apriamo una box per poi metterla sopra uno
sfondo.
> > \begin{minipage}[t]{.1\textwidth}
> > \vspace{\fboxsep}
> > \includegraphics[width=.1\textwidth]{try}
> > \end{minipage}\hspace{2pt}%
> > \begin{minipage}[t]{.9\textwidth-2\fboxsep-2\fboxrule-2pt}
> > \vspace{\fboxsep}
> > \textbf{Importante: }\ignorespaces
> > }
Invece di un tabular, meglio usare due minipage allineate al bordo
superiore. Ci aggiungo anche una spaziatura verticale per spaziare
di più dal bordo della box colorata.
Alla prima ho assegnato un decimo della giustezza, vedi tu quanto
ti serve. La spaziatura fra le due è di 2pt, vedi tu. La seconda
minipage è larga esattamente quanto serve per riempire la giustezza:
tolgo l'ampiezza della prima minipage, due volte il margine che
sarà lasciato dalla \fcolorbox e due volte l'ampiezza delle righe
della \fcolorbox stessa. Con il pacchetto calc si può usare questa
semplice sintassi.
> > {%
> > \par\vspace{\fboxsep}
> > \end{minipage}%
> > \end{lrbox}%
Finiamo la seconda minipage, sempre lasciando un po' di spazio verticale
in più e la lrbox.
> > \noindent\fcolorbox{black}{red}{\usebox{\@tempboxa}}%
> > \par\addvspace{\medskipamount}
> > }
Adesso componiamo il tutto: \noindent per non avere rientro, la
\fcolorbox (aggiusta tu i colori) e un'altra spaziatura media.
Ciao
Enrico