- Questo topic ha 11 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 5 mesi fa da
egreg9.
-
CreatoreTopic
-
16 Marzo 2014 alle 12:48 #93325::
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
-
CreatoreTopic
-
AutoreRisposte
-
-
16 Marzo 2014 alle 16:23 #93326
-
16 Marzo 2014 alle 17:24 #93327
-
16 Marzo 2014 alle 21:03 #93328::
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.
-
17 Marzo 2014 alle 11:33 #93329::
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
-
17 Marzo 2014 alle 16:33 #93330::
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 erroneaQuando 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
-
17 Marzo 2014 alle 19:12 #93331
-
17 Marzo 2014 alle 21:34 #93332
-
18 Marzo 2014 alle 11:25 #93333::
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
-
18 Marzo 2014 alle 21:13 #93334::
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
-
18 Marzo 2014 alle 22:31 #93335::
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à.
-
19 Marzo 2014 alle 9:04 #93336::
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
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.