Salve a tutti, ho usato i comandi
`\begin{proof}
…
\end{proof}
`
per inserire delle dimostrazioni, ma quello che scrivo immediatamente dopo begin{proof} non viene scritto su un’altra riga ma accanto.Come devo fare se voglio andare a capo?Fossi in te, lascerei le impostazioni di default. Ma se insisti per la tua strada, eccoti un orrore per rimediare.
`\begin{proof}\hfill\\
Ciao.
\end{proof}
`
Aspetta Enrico per la soluzione TeXnicamente corretta.
Osservi giustamente che è un orrore: non c’è alcun motivo di mettere così in evidenza la parola “Dimostrazione”, soprattutto tenendo conto che fra l’enunciato e la dimostrazione c’è già uno spazio bianco.
Ma siccome ognuno è libero di farsi del male come preferisce, ecco qui una soluzione un pochino più elegante. 🙂
`\usepackage{etoolbox}
\makeatletter
\letcs\@temp{\string\proof}
\patchcmd\@temp{\ignorespaces}{\mbox{}\\\ignorespaces}{}{}
\cslet{\string\proof}\@temp
\makeatother`
Il pacchetto etoolbox mette a disposizione \patchcmd per cambiare la definizione dei comando dato come primo argomento: il secondo argomento è codice che viene sostituito dal codice dato come terzo argomento; quarto e quinto servono per scopi molto esoterici.
Purtroppo \patchcmd non funziona con i comandi con argomento opzionale, così com’è; bisogna invece modificare la versione interna che è \\proof (comando non scrivibile direttamente, si ottiene con \csname\string\proof\endcsname, in questo caso) e per questo prima gli do un nome diverso; eseguo la modifica e assegno il vecchio nome al comando modificato. 8)
Dimenticavo: sostituisco \ignorespaces perché è l’ultimo token nell’espansione di \\proof e al suo posto metto \mbox{}\\\ignorespaces che fa andare a capo; rimettere \ignorespaces non sarebbe strettamente necessario, perché \\ ha un argomento opzionale e quindi già da sé ignora gli spazi.
Ciao
Enrico