[Risolto] Strano comportamento di curve2e

  • Creatore
    Topic
  • #85268
    Up
    0
    Down
    ::


    Scrivo per segnalare un comportamento di curve2e che mi sembra abbastanza insolito.
    Con il seguente codice, su distribuzione TeX Live 2012 aggiornata (Linux), la compilazione produce un errore; senza il caricamento di curve2e no.
    `
    \documentclass{article}
    \usepackage[italian]{babel}
    \usepackage{curve2e}
    \renewcommand{\footnoterule}{\centering\line(1,0){200}\\[1ex]}
    \begin{document}
    aaa\footnote{bbb}ccc
    \end{document}
    `
    Nella stesura del mio lavoro, il problema è stata risolto commentato curve2e, ho ritenuto però utile cominicare questo inconveniente che mi ha fatto perdere un buon quarto d’ora per trovare il problema 🙂

    Alessandro

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #85269
      Up
      0
      Down
      ::


      L’errore non si ottiene anche in altri casi:

      1. Sostituzione di \\ con \vspace
      2. Sostituzione di \line con altro

    • #85270
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        Mazzacane” post=84694Scrivo per segnalare un comportamento di curve2e che mi sembra abbastanza insolito.
        Con il seguente codice, su distribuzione TeX Live 2012 aggiornata (Linux), la compilazione produce un errore; senza il caricamento di curve2e no.
        `
        \documentclass{article}
        \usepackage[italian]{babel}
        \usepackage{curve2e}
        \renewcommand{\footnoterule}{\centering\line(1,0){200}\\[1ex]}
        \begin{document}
        aaa\footnote{bbb}ccc
        \end{document}
        `
        Nella stesura del mio lavoro, il problema è stata risolto commentato curve2e, ho ritenuto però utile cominicare questo inconveniente che mi ha fatto perdere un buon quarto d’ora per trovare il problema 🙂
        Alessandro

        Mi spiace, Alessandro, che tu abbia dovuto perdere un quarto d’ora per eliminare la chaiamta a curve2e e a togliere \\ per sostituirlo con \vspace e \line con qualcos’altro.

        Ma non è colpa di curve2e. Se mi passi una battuta, direi che il querto d’ora la’vresti speso meglio l’avessi usato epr leggere la documentazione. Ti suggerisco in primis di leggere il manuale di LaTeX tradotto in italiano e commentato (guida tematica Il LaTeX Reference Maunal commentato, da scaricare dalla sezione Documentazione di questo sito). Poi, se non ti bastasse, potresti leggere la documentazione di curve2e, dando da terminale il comando texdoc curve2e; avresti scoperto che curve2e è una estensione di pict2e, il quale serve per realizzare le estensioni all’ambiente picture stabilite da Leslie Lamport, il papà di LaTeX, già dal 1994.

        Ma vediamo che cosa c’è che non va:

        1) il comando \\ si può usare solo in modo orizzontale; Le note cominciano in modo verticale con l’esecuzione del comando \footnoterule; \centering non cambia modo, \line inserisce una scatola di tio \hbox, e non cambaii modo di composizione, quindi il modo di composizione resta sempre verticale e \\ non va bene.

        2) se vuoi ridefinire il filetto di separazione delle note devi seguire il manuale, che dice che la sua definzione deve essere composta solo con comandi di tipo verticale, ma che gli spazi prima e dopo il filetto sommati allo spessore del filetto devono ammontare globalmente a zero; la tua deifnizione di \footnoterule non contiene solo comandi verticali e non mantien altezza complessiva nulla.

        3) [tt]\line(1,0){200}[/tt] ha senso solo dentro l’ambiente picture; inoltre non richiede nessun artificio di nessun genere perché il comando è disponibile fin dai tempi di LaTeX 1.0, cioè, credo, dal 1985, forse anche un anno prima. Curve2e sarebbe del tutto superfluo come anche pict2e; ma il punto è che esso può essere usato solo dentro l’ambiente picture che nella tua definizione manca del tutto.

        Vedi dunque che il tuo allarme per un pacchetto, certamente non perfetto, ma che viene usato da molte persone con grande soddisfazione da circa 7-8 anni, non presenta il difetto che tu lamenti.

        Tornando alla battuta, leggi la documentazione. Non usare mai un pacchetto senza averne letto la documentazione; non ridefinire comandi se non sai che cosa la ridefinizione possa portare in termini di effetti collaterali. Questo è particolarmente vero per i comandi del nucleo di LaTeX e del nucleo delle classi e dei pacchetti standard.

      • #85271
        Up
        0
        Down
        ::


        Grazie Claudio per i preziosi consigli. Ero certo che non ci fossero “difetti”, ma solo una non chiara compresione del problema da parte mia. Sto leggendo pian piano tutta la documentazione che viene spesso consigliata/pubblicata su questo forum, ma a quanto pare vita brevis, ars longa […] experimentum periculosum.

        Alessandro

      • #85272
        Up
        0
        Down
        ::

        Mazzacane” post=84694Scrivo per segnalare un comportamento di curve2e che mi sembra abbastanza insolito.
        Con il seguente codice, su distribuzione TeX Live 2012 aggiornata (Linux), la compilazione produce un errore; senza il caricamento di curve2e no.
        `
        \documentclass{article}
        \usepackage[italian]{babel}
        \usepackage{curve2e}
        \renewcommand{\footnoterule}{\centering\line(1,0){200}\\[1ex]}
        \begin{document}
        aaa\footnote{bbb}ccc
        \end{document}
        `
        Nella stesura del mio lavoro, il problema è stata risolto commentato curve2e, ho ritenuto però utile cominicare questo inconveniente che mi ha fatto perdere un buon quarto d’ora per trovare il problema 🙂

        Alessandro

        Se il tuo scopo è di aumentare lo spazio fra il filetto e la nota, cosa che ti sconsiglio caldamente, puoi fare così:
        `\documentclass{article}
        \usepackage[italian]{babel}
        \usepackage{kantlipsum}
        \makeatletter
        \renewcommand\footnoterule{%
        \kern-12\p@
        \hrule\@width.4\columnwidth
        \kern11.6\p@}
        \makeatother
        \addtolength{\skip\footins}{12pt}
        \begin{document}
        aaa\footnote{bbb}ccc\kant[1-5]
        \end{document}`
        Secondo le raccomandazioni degli sviluppatori di LaTeX, il prodotto di [tt]\footnoterule[/tt] non deve occupare alcuno spazio verticale.

        Le definizioni normali sono
        `\renewcommand\footnoterule{%
        \kern-3\p@
        \hrule\@width.4\columnwidth
        \kern2.6\p@}
        \setlength{\skip\footins}{9pt plus 4pt minus 2pt}`
        Se poi vuoi il filetto al centro, toglitelo dalla testa: non si fa. E se qualcuno lo fa, non sa nulla di tipografia. 😉

        Ciao
        Enrico

      • #85273
        Up
        0
        Down
        ::

        egreg9″ post=84716
        Se il tuo scopo è di aumentare lo spazio fra il filetto e la nota, cosa che ti sconsiglio caldamente, puoi fare così:
        `\documentclass{article}
        \usepackage[italian]{babel}
        \usepackage{kantlipsum}
        \makeatletter
        \renewcommand\footnoterule{%
        \kern-12\p@
        \hrule\@width.4\columnwidth
        \kern11.6\p@}
        \makeatother
        \addtolength{\skip\footins}{12pt}
        \begin{document}
        aaa\footnote{bbb}ccc\kant[1-5]
        \end{document}`
        Secondo le raccomandazioni degli sviluppatori di LaTeX, il prodotto di [tt]\footnoterule[/tt] non deve occupare alcuno spazio verticale.

        Le definizioni normali sono
        `\renewcommand\footnoterule{%
        \kern-3\p@
        \hrule\@width.4\columnwidth
        \kern2.6\p@}
        \setlength{\skip\footins}{9pt plus 4pt minus 2pt}`
        Se poi vuoi il filetto al centro, toglitelo dalla testa: non si fa. E se qualcuno lo fa, non sa nulla di tipografia. 😉

        Ciao
        Enrico

        Mille grazie per l’esempio 🙂 il filetto centrato l’ho visto in una pubblicazione della Oxford University Press, ed ho provato a copiarlo…

    Visualizzazione 4 filoni di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top