curiosità su “proof”

  • Creatore
    Topic
  • #46610
    Up
    0
    Down
    ::


    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?
    Grazie

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #46611
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        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.

        Ciao,
        L.

      • #46612
        Up
        0
        Down
        ::

        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

    Visualizzazione 1 filone di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top