- Questo topic ha 6 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 8 mesi fa da .
-
Topic
-
Salve a tutti,
come richiesto nella discussione sottolineato reperibile all’indirizzo <http://www.guit.sssup.it/phpBB2/viewtopic.php?t=396>, ho provato a scrivere un ambiente per un’enfasi «molto forte» per una porzione di documento, che si capisse subito essere di grande rilievo e che saltasse subito all’occhio; pensavo di risolvere in quattro e quattr’otto, e invece non ho cavato un ragno dal buco, in quanto sono saltati fuori più problemi che soluzioni. Ci sono rimasto male.Un ambiente di questo tipo me l’ero immaginato come un blocco di testo racchiuso in un riquadro. Questo era un esempio di prova (non ridete per l’ambiente «center», so che non si dovrebbe usare, ma questa era solo una prova; fossi stato in grado di realizzare l’ambiente finale «enfasiForte» avrei richiamato «\centering»):
`Testo normale\begin{center}
{\fboxsep=.5em\fbox{\begin{minipage}{.9\linewidth}\setlength{\parindent}{1.5em}
Testo importanteTesto importante
\end{minipage}}}
\end{center}Testo normale
`
L’esempio che avete appena visto, funziona. L’unico problema (fin qui) che non sono stato in grado di risolvere è che l’ambiente «minipage» azzera «\parindent»; da <http://www.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/ltx-267.html>:There is no paragraph indentation in the minipage environment. That is, LaTeX sets \parindent to zero; however, you may override this with a \setlength command.
Bel suggerimento, ma quanto vale «\parindent»? un «\the\parindent» esplicito nel corpo mi ritorna 15.0pt, ma dubito seriamente che nei sorgenti di LaTeX (o di TeX) questa grandezza sia stata definita in modo non elastico. Come potete vedere sopra, ho provato a cavarmela «a occhio» con 1.5em, ma se qualcuno sa riportarmi la definizione di «\parindent» (o dirmi in quale file si trova) gliene sarò eternamente grato.
Detto ciò, ho provato a passare alla definizione di un ambiente apposito:
`\newenvironment{enfasiForte}{%
\par\medskip\centering{\fboxsep=.5em\fbox{\begin{minipage}{.9\linewidth}\setlength{\parindent}{1.5em}%
}%
{%
\end{minipage}}}\par\medskip%
}
`
che, naturalmente non funziona. Il problema sembra essere «\fbox»; infatti, se provate a rimuoverlo dalla definizione
`\newenvironment{enfasiForte}{%
\par\medskip\centering\begin{minipage}{.9\linewidth}\setlength{\parindent}{1.5em}%
}%
{%
\end{minipage}\par\medskip%
}
`
tutto fila liscio (a parte il fatto che non c’è più il riquadro).Come mai questa cosa? Avrei due dubbi in merito:
-
forse che «\fbox» crede che la parentesi graffa che chiude la definizione iniziale dell’ambiente «enfasiForte» sia la graffa che chiude il comando («\fbox») stesso?
-
oppure, come scritto in questa pagina, <http://www.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html>:
Environments delimited by \begin … \end are fragile
(per la cronaca, «\protect» nella definizione non risolve il problema).
Come posso fare, quindi, per inserire un comando «\fbox» nella definizione di un ambiente?
P.S. avevo in mente soluzioni molto più graziose di questa, come riquadri e ombreggiature, ma per adesso mi fermo, finché non avrò capito perche quel comando non può stare in un ambiente.
Ciao!
-
- Devi essere connesso per rispondere a questo topic.