Piccolo problema di sillabazione

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


      In un testo compilato con xelatex e con le opzioni linguistiche
      `\usepackage{fontspec}
      \usepackage{polyglossia}
      \setmainlanguage[babelshorthands=true]{italian}`
      il nome della rivista «Phronesis» viene spezzata Ph – ronesis.
      Non haprodotto nessun risultato aggiungere
      `\hyphenation{Phro-ne-sis}`
      mentre la stringa
      `\hyphenation{Phro”-ne”-sis}`
      ma dà questo errore:
      `! Not a letter.
      \normal@char” ->”

      l.5 \hyphenation{Phro”
      -ne”-sis}
      ? `
      In che modo posso convincere xelatex a mandare a capo correttamente la parola?
      grazie
      m

    Visualizzazione 10 filoni di risposte
    • Autore
      Risposte
      • #93326
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Dovrebbe funzionare scrivendo Phro”nesis, oppure Phro\-nesis, ma io preferisco la prima versione, altrimenti perché avresti specificato l’opzione babelshorthands=true ?
          (Tra l’altro basterebbe babelshorhands senza la parte =true)

        • #93327
          samiel
          Partecipante
            Up
            0
            Down
            ::


            Sì, ma si tratta di una cesura “manuale”;
            mi chiedevo come mai impostando il termine in \hyphenation
            non funziona. Forse perché non viene riconosciuta come italiana?

            m

          • #93328
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Intanto le doppie virgolette dentro al testo di \hyphenation non ci vanno proprio.

              Poi in effetti \hyphenation con un elenco di parole divise in sillabe va ad arricchire le eccezioni di una particolare lingua, quindi si può usare solo mentre è specificamente in vigore la lingua alla quale quel comando si riferisce.
              Non so dove tu abbia inserito \hyphenation, ma funziona anche se lo metti dopo il preambolo, ma l’italiano deve essere in vigore.

            • #93329
              samiel
              Partecipante
                Up
                0
                Down
                ::


                Io all’inizio del preambolo ho messo
                `\documentclass[a4paper]{article}
                \usepackage{fontspec}
                \usepackage{polyglossia}
                \setmainlanguage[babelshorthands=true]{italian}
                \hyphenation{Phro-ne-sis}`
                solo che non posso inserire la sillabazione corretta manualmente
                perché quel «Ph – ronesis» risulta in bibliografia, creato da biblatex,
                dunque io inserisco soltanto \footcite{jonas:2003} e po il resto
                lo fa lui. Fatto si è che anche con \hyphenation la divisione
                in sillabe continua ad essere erronea

              • #93330
                Up
                0
                Down
                ::

                samiel” post=92965Io all’inizio del preambolo ho messo
                `\documentclass[a4paper]{article}
                \usepackage{fontspec}
                \usepackage{polyglossia}
                \setmainlanguage[babelshorthands=true]{italian}
                \hyphenation{Phro-ne-sis}`
                solo che non posso inserire la sillabazione corretta manualmente
                perché quel «Ph – ronesis» risulta in bibliografia, creato da biblatex,
                dunque io inserisco soltanto \footcite{jonas:2003} e po il resto
                lo fa lui. Fatto si è che anche con \hyphenation la divisione
                in sillabe continua ad essere erronea

                Quando dai [tt]\hyphenation[/tt] la lingua è ancora l’inglese.

                `\documentclass[a4paper]{article}
                \usepackage{fontspec}
                \usepackage{polyglossia}
                \setmainlanguage[babelshorthands=true]{italian}

                \begin{hyphenrules}{italian}
                \hyphenation{Phro-ne-sis}
                \end{hyphenrules}

                \begin{document}

                \parbox{0pt}{x Phronesis}

                \end{document}`
                Ciao
                Enrico

              • #93331
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Perfetto, grazie! ma:

                  uando dai \hyphenation la lingua è ancora l’inglese.

                  Allora “quando comincia” l’italiano?

                  m

                • #93332
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Dopo \begin{document} se l’italiano è il main language.

                  • #93333
                    Up
                    0
                    Down
                    ::

                    samiel” post=92990Perfetto, grazie! ma:

                    uando dai \hyphenation la lingua è ancora l’inglese.

                    Allora “quando comincia” l’italiano?

                    La lingua è impostata a [tt]\begin{document}[/tt].

                    Nella versione 3.9 di Babel, Javier Bezos ha proposto il comando
                    `\babelhyphenation[lingua1,lingua2,…]{eccezioni}`
                    che fa essenzialmente lo stesso di eseguire [tt]\hyphenation[/tt] in un ambiente [tt]hyphenrules[/tt] come ho proposto. In Polyglossia non c’è niente di simile. Ma puoi usare tranquillamente babel, se preferisci; Polyglossia diventa essenziale solo per alcune lingue.

                    Ciao
                    Enrico

                  • #93334
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Questo però apre una serie di domande su babel e polyglossia. Leggo ad esempio:

                      Well you can use babel with xelatex and in certain cases it is more
                      powerful, e.g. the french adaption of babel has much more typograpic
                      settings than the one from polyglossia.
                      You should in general _not_ use babel if you use a language which
                      needs another script (like russian) as it will switch fontencodings
                      and probably clash with fontspec.

                      ,
                      ma si tratta di un post molto vecchio e magari le cose sono cambiate.
                      Inoltre, posso “mescolarle” nello stesso documento?

                      m

                    • #93335
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Per scrivere con alfabeti diversi da quello cosiddetto Latino direi che la cosa più semplice sia quella di usare XeLaTeX con polyglossia; non mescolerei affatto babel e poliglossia nello stesso documento; e se la cosa riguarda solo le eccezioni io non ho mai avuto al necessità di servirmene, e qui forse sta il mio limite di (in)comptenza.
                        Tuttavia non vedo che male ci sia a impostare le eccezioni con distinti comandi \hypenation facendoli precedere dalla selezione della lingua a cui quelle cccezioni competono; farei il tutto dopo \begin{document} e chiuderei il blocco delle eccezioni con la selezione della lingua principale; questa procedura artigianale può venire usata sia con babel sia con polyglossia, quindi non ci sono problemi di nessun genere;, almeno non ne vedo, ma ri-sottolineo la mia mancanza di esperienza in merito.

                        Tutto sommanto non è molto diverso da quello che suggerisce Enrico per quando si usi babel; specificare \hypehnrules singifica scegliere i patterni duna lingua senza attivare tutto il meccanismo di quella lingua come si farebbe con \selectlanguage.
                        Invece non i convince la proposta di Bezos per il futuro babel 3.10 (non ancora distribuito con TeXLive) di usare \babelhypenation{lingua1, lingua2,…}{eccezioni} per chè questo aggiungerebbe le eccezioni alle tabelle di eccezioni di tutte le lingue della lista; questo potrebbe servire solo per marcare le eccezion di nomi che costituitscano dei “trademark” indipendenti dalle lingue e quindi comuni a tutte le lingue.; non inutile ma, direi, di scarsa utilità.

                      • #93336
                        Up
                        0
                        Down
                        ::

                        samiel” post=93022Questo però apre una serie di domande su babel e polyglossia. Leggo ad esempio:

                        Well you can use babel with xelatex and in certain cases it is more
                        powerful, e.g. the french adaption of babel has much more typograpic
                        settings than the one from polyglossia.
                        You should in general _not_ use babel if you use a language which
                        needs another script (like russian) as it will switch fontencodings
                        and probably clash with fontspec.

                        ,
                        ma si tratta di un post molto vecchio e magari le cose sono cambiate.
                        Inoltre, posso “mescolarle” nello stesso documento?

                        m

                        Le cose sono cambiate. Se adoperi babel con XeLaTeX e il francese, non viene adoperato il meccanismo tramite “shorthand”, ma quello nativo di XeTeX preso da Polyglossia per lo spazio prima dei segni di interpunzione lunghi (: ; ? !).

                        Puoi facilmente verificarlo compilando con XeLaTeX o pdflatex il documento
                        `\documentclass{article}
                        \usepackage[french]{babel}
                        \begin{document}
                        \show:
                        \end{document}`
                        Con pdflatex (o LuaLaTeX) ottieni
                        `> :=macro:
                        ->\active@prefix :\active@char: .`
                        mentre con XeLaTeX avrai
                        `> the character :.`

                        Rimane dalla parte di Polyglossia e XeLaTeX il vantaggio di non dover cambiare codifica di output a ogni cambio di lingua che richieda un alfabeto diverso.


                        @OldClaudio
                        : la versione di babel a cui mi riferivo è la 3.9 (ricordavo male il numero); non è obbligatorio dare più lingue nell’argomento facoltativo di [tt]\babelhyphenation[/tt]:
                        `\babelhyphenation[italian]{Phro-ne-sis}`
                        fa esattamente ciò che ci si aspetta.

                        Ciao
                        Enrico

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

                    Go to top