Sto lavorando da un po’ con il package exercise che trovo ottimo ma riscontro alcune difficoltà. Innanzi tutto mi occorrerebbe controllare lo spazio prima e dopo gli ambienti Exercise ed exerciseList che come si vede dall’esempio riportato sono troppo attaccati alle linee che seguono o precedono gli esercizi. Poi c’è il problema che i comando non vanno automaticamente su un nuova linea ma è necessario porre manualmente una riga vuota. Come prima si veda l’esempio e si provi a porre una riga vuota dopo il commento.
Grazie e complimenti per l’aiuto che ci offrite.`\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}\usepackage{exercise}
\renewcommand{\ExerciseBefore}{5em}\begin{document}
Testo introduttivo che precede la lista di esercizi. Come si vede il testo degli esercizi è troppo attaccato al testo che lo precede.
\begin{ExerciseList}
\Exercise Pippo
\Exercise Pippo
\Exercise Pippo
\end{ExerciseList}
La stessa cosa accade quando si scrive un problema più lungo con l'ambiente exercise.
\begin{Exercise}[title=Prova]
Testo introduttivo % se dopo questa riga ci metto una riga vuoto l'allineamento è ok
\ExePart
\Question Prima domanda
\Question Seconda domanda
\ExePart
\Question terza domanda
\end{Exercise}
Testo dopo l'esercizio. La stessa cosa accade anche con il testo dopo gli ambienti Exercise ed ExerciseList.
\end{document}`
Il pacchetto ha una notevole serie di pecche. Per esempio, il parametro \ExerciseBefore non viene usato in nessun posto!
Puoi risolvere il problema della spaziatura verticale impostando il parametro \Exetopsep:
`\setlength{\Exetopsep}{\topsep}`
mi pare una buona scelta.
Il comando \ExePart emette \medskip\centerline{…}. 🙁 Se non lasci una riga vuota prima di darlo, la schifezza di cui ti lamenti è l’effetto previsto dalla teoria. Se vuoi rimediare in automatico puoi modificare la definizione di \ExePartHeader:
`\makeatletter
\toks@=\expandafter{\ExePartHeader}
\edef\ExePartHeader{\par\the\toks@}
\makeatother`
(Se qualcuno confronta con il trucco simile presentato ieri, noterà l’assenza di \noexpand; questo perché \par non è espandibile, quindi \noexpand non serve.) Tuttavia non te lo consiglio, una riga vuota prima di \ExePart ti aiuta a leggere meglio il documento TeX.
Ciao
Enrico