Sillabazione nelle note a margine

  • Creatore
    Topic
  • #93818
    samiel
    Partecipante
      Up
      0
      Down
      ::


      In un testo ho trasformato le \subsection in note a margine clonando graffito.
      Poiché tuttavia il testo non viene sillabato. ho adottato il seguente codice
      `\makeatletter
      \def\graffito@setup{%
      \itshape\footnotesize%
      \parindent=0pt \lineskip=0pt \lineskiplimit=0pt %
      \tolerance=2000 \hyphenpenalty=300 \exhyphenpenalty=300%
      \doublehyphendemerits=100000%
      \finalhyphendemerits=\doublehyphendemerits}
      \DeclareRobustCommand{\marginnote}{}
      \let\marginnote\marginpar
      \DeclareRobustCommand{\graffito}[1]{\marginnote%
      [\graffito@setup\raggedleft\hspace{0pt}{#1}]%
      {\graffito@setup\raggedright\hspace{0pt}{#1}}}
      \let\marginpar\graffito
      \makeatother

      \setlength{\marginparwidth}{2cm} % x le note a margine
      \setlength{\marginparsep}{0.60cm} % x le note a margine

      \usepackage {ragged2e}
      %\usepackage{etoolbox}
      \patchcmd{\graffito}{\raggedright}{\RaggedRight}{}{}
      \patchcmd{\graffito}{\raggedleft}{\RaggedLeft}{}{}`
      e tuttavia il testo non viene sillabato ugualmente.
      Che cosa altro devo modificare?

      grazie

      PS
      Adesso provo a fare tutto con suftesi, magari quella sillaba 🙂
      m

    Visualizzazione 8 filoni di risposte
    • Autore
      Risposte
      • #93819
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Chissà perché vuoi usare \graffito… mah, queste cose mi sorprendono sempre.

          In realtà tu ti definisci i comandi che vuoi per creare delle note marginali; va bene, ma devi sapere che cosa fai; per esempio, se usi il pacchetto regged2e, che per le note marginali va benissimo, usa direttamante i comandi \RaddefRighte \ReggedLeft, senza bisongno di usare prima i comandi in lettere minuscole e poi rattoppare i comandi per sostituirli con el lettere maiuscole.

          Allora passino i comandi ‘itshape e footnotesize; tutto il resto in \graffito@setupt è sostanzialmente sbagliato, perché non sai a cosa servano quei comandi; trovi descritti \lineskip e \lineskiplimit nella guida tematica Il LaTeX Reference Manual commentato; ma la sostanza è che non serve metterli al valore zero, perché se fossere chiamati in causa, il che non succede qualsi mai, servirebbero solo per peggiorare al situazione rispetto ai valori di default. \parindent vale già zero nele note marginali; \tolerance e \pretolerance servono epr la sillabazione; il loro funzionamento è descritto nel capitolo sulla divisione in sillabe della Guida Guit.;; ma aumentando \tolerance consenti degli spazi interparola maggiori e riduci le cesure in fin di riga.
          \hyphenpenalty e \exhyphenpenalty sono penalità abbastanza grandi per impedire o ridurre le possibilità di sillabazione.
          \doublehyphen demerits è un valore grande ma non grandissimo; serve per ridurre al possibilità di avere due righe consecutive con la cesura in fin di riga. Lo stesso vale per \finalhiphendemerits che servirebbe per evitare la cesura in fin di riga nella penultima riga di un capoverso; i “demerits” sono sostanzialmente delle penalità al quadrato, quindi un valore di 100000 per i demerits corrisponde a penalità di circa 316, come vedi non eccezionale.

          Inoltre definisci i parametri per le note marginali di 20mm per la giustezza e di 6mm per la distanza dal testo; Nota che questa distanza normalmente, di default vale qualcosa fre 6pt e 10pt, con 6mm tu imponi una distanza di 18pt circa; troppo distanti. La giustezza di 20 mm è decisamante piccola; se vuoi usare note marginali devi avere margini sufficientemente larghi da poter contenere dette note; nell’ArteLAtex i margini esterni sono decisamante grandi e quindi non è difficile metterci dei graffiti di 30 o 40 millimetri; ma 20 mm sono decisamante pochi; con le tue penalità certamante hai dei problemi; ricorda inoltre che non so che cosa faccia internamente \hspace, ma nel tuo caso io useri \hskip 0pt (o, visto che \makeatletter è attivo, userei \hskip\z@) per poter separare il testo della nota marginale dai parametri che la impostano; in mancanza la prima prola di un capoverso non viene mai divisa in sillabe.

          Capisco che la divisione in sillabe e l’algoritmo che usano tutti i programmi di composizione del sistema TeX è complesso, ma una lettrua all’apposito capitol della Guida GuIT non farebbe male; vi si spiegano tante cose, e il tutto è molto abbreviato rispetto a quello che Knuth scrive nella sua appendice H del TeXbook.
          Ciao\Claudio

        • #93820
          Up
          0
          Down
          ::

          samiel” post=93395In un testo ho trasformato le \subsection in note a margine clonando graffito.
          Poiché tuttavia il testo non viene sillabato. ho adottato il seguente codice
          `\makeatletter
          \def\graffito@setup{%
          \itshape\footnotesize%
          \parindent=0pt \lineskip=0pt \lineskiplimit=0pt %
          \tolerance=2000 \hyphenpenalty=300 \exhyphenpenalty=300%
          \doublehyphendemerits=100000%
          \finalhyphendemerits=\doublehyphendemerits}
          \DeclareRobustCommand{\marginnote}{}
          \let\marginnote\marginpar
          \DeclareRobustCommand{\graffito}[1]{\marginnote%
          [\graffito@setup\raggedleft\hspace{0pt}{#1}]%
          {\graffito@setup\raggedright\hspace{0pt}{#1}}}
          \let\marginpar\graffito
          \makeatother

          \setlength{\marginparwidth}{2cm} % x le note a margine
          \setlength{\marginparsep}{0.60cm} % x le note a margine

          \usepackage {ragged2e}
          %\usepackage{etoolbox}
          \patchcmd{\graffito}{\raggedright}{\RaggedRight}{}{}
          \patchcmd{\graffito}{\raggedleft}{\RaggedLeft}{}{}`
          e tuttavia il testo non viene sillabato ugualmente.
          Che cosa altro devo modificare?

          grazie

          PS
          Adesso provo a fare tutto con suftesi, magari quella sillaba 🙂
          m

          Potresti anche essere interessato in questa soluzione.

          Ciao
          Claudio

        • #93821
          samiel
          Partecipante
            Up
            0
            Down
            ::



            @cfiandra
            Grazie della segnalazione, appena o un po’ di tempo sperimento,
            anche se quella soluzione dal punto di vita grafico mi sembra fin troppo pittoresca 🙂
            Nel frattempo, ho preso serissimamente le valide obiezioni di Oldclaudio
            e prodotto il seguente, semplicissimo codice (prescindendo da graffito)
            `\let\oldmarginpar\marginpar
            \renewcommand{\marginpar}[1]{\oldmarginpar[\RaggedLeft\footnotesize\emph{#1}]{\RaggedRight\footnotesize\emph{#1}}}`
            Per quello che riguarda i margini e la giustezza delle note, devo ripensare
            la geometria della pagina, noto tormentone….

            grazie
            m

          • #93822
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Ricordati della nota guida tematica sul Layout della paigna…:wink:

              In quel documento puoi copiare e incollare un programma epr simulare il layout della paigna; questo ti aiuta molto nel creare un layout dove el note marginali sono prese seriamante in considerazione, ma insieme alla giustezza e ai margini; 20mm sono pochi per scrivere qualunque cosa. Vale la pena di ricorrere alle note marginali co`si strette solo per scirvere cose come “V. [12], p.352” e forse già questo è troppo lungo.

            • #93823
              samiel
              Partecipante
                Up
                0
                Down
                ::


                Sì certo, ho appena scaricato la versione più recente,
                dato che avevo quella precedente!

                grazie
                m

                PS

                Allora passino i comandi ‘itshape e footnotesize; tutto il resto in \graffito@setupt è sostanzialmente sbagliato,

                ma quei parametri non li ho modificati, sono quelli di ClassicTesis !

              • #93824
                Up
                0
                Down
                ::

                samiel” post=93395
                PS
                Adesso provo a fare tutto con suftesi, magari quella sillaba 🙂
                m

                Certo che sillaba 😉

                Ciao
                Ivan

              • #93825
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Già fatto!
                  Solo una cosa: ho aggiunto una \xfootnote al titolo di un capitolo
                  perché mi serviva inserire una particolare indicazione. La cosa in sé funziona,
                  tranne il fatto che tale nota viene inserita anche nell’indice, dove invece non va
                  (oltretutto creando un doppione). C’è modo di eliminarla dall’indice?

                  grazie
                  m

                • #93826
                  Up
                  0
                  Down
                  ::

                  samiel” post=93410Già fatto!
                  Solo una cosa: ho aggiunto una \xfootnote al titolo di un capitolo
                  perché mi serviva inserire una particolare indicazione. La cosa in sé funziona,
                  tranne il fatto che tale nota viene inserita anche nell’indice, dove invece non va
                  (oltretutto creando un doppione). C’è modo di eliminarla dall’indice?

                  grazie
                  m

                  `\chapter[Titolo che va nell'indice]{Titolo che va nel testo\xfootnote{Nota}}`

                  Ciao
                  Ivan

                • #93827
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Già, era l’uovo di Colombo!!
                    grazie
                    m

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

                Go to top