- Questo topic ha 19 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 6 mesi fa da
egreg9.
-
CreatoreTopic
-
10 Marzo 2012 alle 12:46 #70886::
Buongiorno a tutti.Come da oggetto mi piacerebbe capire come fare ad eliminare la sillabazione delle parole all’interno dell’indice dei contenuti e nei titoli di sezione \section{} all’interno del testo; ho provato a cercare in internet ma sono riuscito a trovare solo soluzioni che eliminano del tutto la sillabazione nell’intero documento.
Utilizzo babel.
Grazie anticipatamente per l’aiuto.
-
CreatoreTopic
-
AutoreRisposte
-
-
10 Marzo 2012 alle 13:28 #70887::
Se usi una versione recente del motore di composizione puoi ridefinire il comando \section (e i suoi subalterni) in modo che per scrivere il titolo usino la “lingua” nohyphenation; puoi accertartene leggendo le prime righe del file log del tuo documento; nelle prime righe c’è l’elenco delle lingue le cui regole di sillabazione sono già inserite nel formato; quindi una cosa come \foreighlanguage{nohyphenation{Titolo del paragrafo} messo come argomento di \section dovrebbe risolverti il problema; ovviamente puoi sempre definirti una macro che avvolga il titolo da non dividere in sillabe dentro a tutta quella espressione.Alternativamente puoi usare \raggedright che ti manda a capo il titolo del paragrafo prima di avere raggiunto la giustezza del testo.
Da me la lingua nohyphenation è la numero 2; volendo potrei selezionare quella lingua scrivendo semplicemente \section{{\language=2 Titolo del paragrafo}}.
Se non disponi della “lingua” nohyphenation, puoi sempre specificare un numero di lingua che non corrsiponda a nessuna lingua, per esempio \language=255
-
11 Marzo 2012 alle 12:51 #70888::
Ti ringrazio molto, Claudio; seguendo le tue istruzioni ho controllato il file di log e ho impostato \section{{\language=2 Titolo della sezione}} e funziona perfettamente, sia nel testo sia nella TOC.Sarebbe utile, a mio modestissimo parere, che questa funzionalità fosse inserita di default o comunque resa disponibile come opzione automatica, poiché andare ora a ridefinire con questa notazione tutti i titoli di sezione, sottosezione e paragrafo, in un documento di 230 pagine, non è proprio agevolissimo 🙂
-
11 Marzo 2012 alle 13:58 #70889
-
11 Marzo 2012 alle 16:23 #70890::
Sì, con \raggesright: esempio:
`
\section{\raggedright Titolo lunghissimo di una sezione logorroica che deve sicuramente venire composto su più righ anche nell'indice generale}
`
Magari metti un \protect davanti a \raggedright.Se non vuoi ridefinire tutti i titolo delle sezioni, copiati nel tuo preambolo dal file di classe e/o dal file late.ltx, e poi modificalo, il comando \@secdef in modo che di default componga tutti i titoli correnti a bandiera allineata a sinistra (\raggedright).
nel tuo preambolo ricordati di far precedere il tratto di codice copiato e modificato da \makeatletter, altrimenti il carattere @ ti produce errori.
-
11 Marzo 2012 alle 18:43 #70891::
r.falcone” post=70165Sarebbe utile, a mio modestissimo parere, che questa funzionalità fosse inserita di default […].
Non sono d’accordo, non ne vedo il motivo.
In ogni caso, sono per avere titoli di sezione il più corti possibile (l’ideale è averli su una riga sola): così si evitano un sacco di problemi di impaginazione (indice, testatine, testo). Si può fare quasi sempre. Per esempio:
http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdfCiao,
L.
-
11 Marzo 2012 alle 19:16 #70892::
OldClaudio” post=70179Sì, con \raggesright: esempio:
Se non vuoi ridefinire tutti i titolo delle sezioni, copiati nel tuo preambolo dal file di classe e/o dal file late.ltx, e poi modificalo, il comando \@secdef in modo che di default componga tutti i titoli correnti a bandiera allineata a sinistra (\raggedright).
Ti ringrazio Claudio ma non sono riuscito a trovare questo snippet di codice; tuttavia nel file “arsclassica.sty” ho trovato il punto di definizione del layout e ho inserito \raggedright:
` \titleformat{\section}
{\raggedright\normalfont\Large\sffamily}`Questa soluzione fa il suo dovere nel corpo del testo ma nella TOC vedo ancora la sillabazione… Pazienza! 😉
-
11 Marzo 2012 alle 19:19 #70893::
lorenzo.pantieri” post=70182
Non sono d’accordo, non ne vedo il motivo.In ogni caso, sono per avere titoli di sezione il più corti possibile (l’ideale è averli su una riga sola): così si evitano un sacco di problemi di impaginazione (indice, testatine, testo). Si può fare quasi sempre.
L.Ti ringrazio Lorenzo, ma il punto è che ci sono frasi che contengono sigle o riferimenti che non è possibile eliminare o sintetizzare; sono del parere che in questi casi potrebbe essere utile un opzione che regolasse la questione.
Inoltre nel mio caso anche questa frase: “Identità collettive nei luoghi della memoria”, che non mi sembra così logorroica, va su due righe, sillabando orrendamente (anche se giustamente)”memoria” in “memor-“, “ia”.
-
11 Marzo 2012 alle 19:54 #70894::
r.falcone” post=70184
Non sono d’accordo, non ne vedo il motivo.
In ogni caso, sono per avere titoli di sezione il più corti possibile (l’ideale è averli su una riga sola): così si evitano un sacco di problemi di impaginazione (indice, testatine, testo). Si può fare quasi sempre.
L.Ti ringrazio Lorenzo, ma il punto è che ci sono frasi che contengono sigle o riferimenti che non è possibile eliminare o sintetizzare; sono del parere che in questi casi potrebbe essere utile un opzione che regolasse la questione.
Inoltre nel mio caso anche questa frase: “Identità collettive nei luoghi della memoria”, che non mi sembra così logorroica, va su due righe, sillabando orrendamente (anche se giustamente)”memoria” in “memor-“, “ia”.Ti va a capo con “memor-ia”? Spolvero la sfera di cristallo e ti dico che stai usando MiKTeX versione 2.8 o precedente. Oppure TeX Live 2009/Debian su un sistema GNU/Linux e non hai installato il pacchetto specifico per l’italiano.
Nel primo caso aggiorna alla 2.9; nel secondo hai due scelte: installare il pacchetto specifico, che trovi con Synaptic o metodi analoghi, oppure installare la TeX Live 2011 http://profs.scienze.univr.it/~gregorio/texlive-ubuntu.pdf%5B/code%5D. Prometto che domani aggiorno a 2011, ma non c’è quasi alcuna differenza, basta cambiare tutti i 2010 in 2011.
Per ottenere la composizione a bandiera dei titoli, senza sillabazione,
`\usepackage{sectsty}
\allsectionsfont{\raggedright]`
-
11 Marzo 2012 alle 21:18 #70895::
egreg9″ post=70185
Ti va a capo con “memor-ia”? Spolvero la sfera di cristallo e ti dico che stai usando MiKTeX versione 2.8 o precedente. Oppure TeX Live 2009/Debian su un sistema GNU/Linux e non hai installato il pacchetto specifico per l’italiano.Nel primo caso aggiorna alla 2.9; nel secondo hai due scelte: installare il pacchetto specifico, che trovi con Synaptic o metodi analoghi, oppure installare la TeX Live 2011 http://profs.scienze.univr.it/~gregorio/texlive-ubuntu.pdf%5B/code%5D. Prometto che domani aggiorno a 2011, ma non c’è quasi alcuna differenza, basta cambiare tutti i 2010 in 2011.
Per ottenere la composizione a bandiera dei titoli, senza sillabazione,
`\usepackage{sectsty}
\allsectionsfont{\raggedright]`In realtà utilizzo Tex Live 2011 su Mac; ho provato ad inserire il codice suggerito ma ottengo errore in fase di compilazione.
-
11 Marzo 2012 alle 21:59 #70896::
r.falcone” post=70186In realtà utilizzo Tex Live 2011 su Mac; ho provato ad inserire il codice suggerito ma ottengo errore in fase di compilazione.
Be’, allora commetti due errori: non dai l’istruzione [tt]\usepackage[italian]{babel}[/tt] (la questione di “memor-ia”) e non presenti un esempio minimo del problema (sarebbe opportuno dire quali errori, dato che, come hai visto, la sfera di cristallo non funziona benissimo).
Ciao
Enrico
-
11 Marzo 2012 alle 22:13 #70897::
egreg9″ post=70187
In realtà utilizzo Tex Live 2011 su Mac; ho provato ad inserire il codice suggerito ma ottengo errore in fase di compilazione.
Be’, allora commetti due errori: non dai l’istruzione [tt]\usepackage[italian]{babel}[/tt] (la questione di “memor-ia”) e non presenti un esempio minimo del problema (sarebbe opportuno dire quali errori, dato che, come hai visto, la sfera di cristallo non funziona benissimo)
Nel main è sempre stato presente `\usepackage[english,italian]{babel}`
Per quanto riguarda l’esempio minimo del problema non saprei come essere più esaustivo: nei titoli di sezione che vanno su due righe è presente una sillbazione che vorrei evitare, come nel caso di \section{Dinamiche di fruizione di un contesto musale}, sillabato in “conte-“, “sto museale”.
-
11 Marzo 2012 alle 22:41 #70898::
r.falcone” post=70188Nel main è sempre stato presente `\usepackage[english,italian]{babel}`
Allora non è possibile che tu ottenga una sillabazione “memor-ia”.
r.falcone” post=70188Per quanto riguarda l’esempio minimo del problema non saprei come essere più esaustivo: nei titoli di sezione che vanno su due righe è presente una sillbazione che vorrei evitare, come nel caso di \section{Dinamiche di fruizione di un contesto musale}, sillabato in “conte-“, “sto museale”.
Scrivi che con il codice suggerito hai errori di compilazione. Quali? Questo documento non ne produce.
`\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{sectsty}
\allsectionsfont{\raggedright}
\begin{document}
\mainmatter
\chapter{A}
\section{Dinamiche di fruizione di un contesto museale}
\end{document}`
Ciao
Enrico
-
11 Marzo 2012 alle 23:06 #70899::
egreg9″ post=70189
Nel main è sempre stato presente `\usepackage[english,italian]{babel}`
Allora non è possibile che tu ottenga una sillabazione “memor-ia”.
Hai perfettamente ragione; volevo riportare quella frase a mò di esempio ma è errata; invece \section{Dinamiche di fruizione di un contesto musale} è corretta.
Scrivi che con il codice suggerito hai errori di compilazione. Quali? Questo documento non ne produce.
Ho inserito il richiamo al pacchetto \{sectsy} appena dopo il richiamo a {babel} e questa volta non ho ottenuto errori di compilazione; tuttavia non sortisce alcun effetto: persiste la sillabazione nei titoli di sezione.
-
11 Marzo 2012 alle 23:26 #70900::
orrendamente (anche se giustamente)”memoria” in “memor-“, “ia”
Posso essere d’accordo con te che memor-ia sa orrendo, ma non sono d’accordo sull’ (anche se giustamente); anzi, nemmeno in inglese ti eseguirebbe quella sillabazione, perché in inglese LaTeX vuole che l’ultimo moncone di parola contenga almeno tre lettere.
SCHERZIAMO? 😈 😈 😈
Senti: memor-ia salta fuori perché in qualche momento hai messo \selectlanguage{english} e poi ti sei dimenticato di ripristinare l’italiano. Se invece ha diviso in memo-ria, la divisione è giusta, ma a te pare orrenda. Anche a me pare orrenda, ed è per questo che \raggedright risolve il tuo problema.
Invece non c’è niente da scherzare su “conte-sto museale”, che è diviso correttamente in italiano e non è affatto orrendo, perché dopo la cesura va a capo anche con un’altra parola. Se non ti va, \raggedright, come già detto risolve il tuo problema.
Quello snippet di codice, caso mai ti servisse, si trova in book.cls ed è:
`
\newcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
`
e basta aggiungere \raggedright subito dopo \bfseries; ma se non usi la classe book, guarda nella classe che usi e negli eventuali pacchetti che aggiungi; comunque quanto ti è stato suggerito è molto più comodo.Invece per l’indice o te la cavi con tocloft.sty, oppure copi lo snipped di codice che si trova nel file latex.ltx:
`
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}%
\protected@edef\@svsec{\@seccntformat{#1}\relax}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup
#6{%
\@hangfrom{\hskip #3\relax\@svsec}%
\interlinepenalty \@M #8\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}%
\else
\def\@svsechd{%
#6{\hskip #3\relax
\@svsec #8}%
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}}%
\fi
\@xsect{#5}}
`
e aggiungi \raggedright nei due punti in cui c’è scritto #7 (prima di #7).probabilmente esistono modi più semplici, come quelli di usare i pacchetti giusti, ma quanto ti ho detto nel precedente messaggio e in questo funziona; basta saper trovare dove sono i file che contengono le definizioni e poi puoi correggere tutto quello che ti pare come vuoi tu. Non sai dove siano i file che ti ho indicato? Too bad! Esamina meglio il tuo disco. Quando l’avrai esaminato bene scoprirai che è una miniera di informazioni, che tutto è documentato nelle apposite cartelle e tutto è accessibile. Non è tempo perso, specialmente con il sistema TeX.
-
12 Marzo 2012 alle 6:44 #70901::
r.falcone” post=70190
[quote=”r.falcone” post=70188]Nel main è sempre stato presente `\usepackage[english,italian]{babel}`
Allora non è possibile che tu ottenga una sillabazione “memor-ia”.
Hai perfettamente ragione; volevo riportare quella frase a mò di esempio ma è errata; invece \section{Dinamiche di fruizione di un contesto musale} è corretta.
Scrivi che con il codice suggerito hai errori di compilazione. Quali? Questo documento non ne produce.
Ho inserito il richiamo al pacchetto \{sectsy} appena dopo il richiamo a {babel} e questa volta non ho ottenuto errori di compilazione; tuttavia non sortisce alcun effetto: persiste la sillabazione nei titoli di sezione.[/quote]
Non è affatto chiaro quello che hai fatto. Occorre il forcipe per farti scrivere un po’ di codice? 🙂Ciao
Enrico
-
12 Marzo 2012 alle 21:40 #70902::
orrendamente (anche se giustamente)”memoria” in “memor-“, “ia”
In realtà ho commesso un peccato veniale, “memoria” viene sillabato correttamente, al contrario di altre parole.
Quello snippet di codice, caso mai ti servisse, si trova in book.cls ed è:
Grazie mille per l’aiuto, Claudio, ho risolto inserendo il “\raggedright” direttamente nella definizione del layout all’interno di “arsclassica.sty”; presumo si ottenga il medesimo risultato della tua soluzione.
Quando l’avrai esaminato bene scoprirai che è una miniera di informazioni, che tutto è documentato nelle apposite cartelle e tutto è accessibile. Non è tempo perso, specialmente con il sistema TeX.
Sicuramente, non ho dubbi, grazie per il tip! 🙂
-
12 Marzo 2012 alle 21:43 #70903::
egreg9″ post=70193
Non è affatto chiaro quello che hai fatto. Occorre il forcipe per farti scrivere un po’ di codice? 🙂No, no, per carità, ecco il codice del mio main 😀
`
\documentclass[11pt,a4paper,oneside,openany,titlepage,fleqn,%
headinclude,footinclude,BCOR5mm,%
numbers=noenddot,cleardoublepage=empty,%
tablecaptionabove]{scrreprt}\usepackage[english,italian]{babel}
\usepackage{sectsty}
\allsectionsfont{\raggedright]
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[suftesi]{frontespizio}
\usepackage[final]{microtype}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{varioref}
\usepackage[style=philosophy-modern,hyperref,backref,square,natbib,ibidtracker=false]{biblatex}
\usepackage[tight,italian]{minitoc}
\usepackage{wrapfig}
\usepackage{chngpage}
\usepackage{chngcntr}
\counterwithout{footnote}{chapter}
\usepackage{calc}
\usepackage{mflogo}
\usepackage{caption,listings,graphicx,subfig}
\usepackage{multicol}
\usepackage{makeidx}
\usepackage{xspace}
\usepackage{mparhack}
\usepackage{fixltx2e}
\usepackage{relsize}
\usepackage{lettrine}
\usepackage{lipsum}
\usepackage{acronym}
\usepackage[eulerchapternumbers,subfig,beramono,eulermath,pdfspacing,listings,parts]{classicthesis}
\usepackage{guit}
\usepackage{pdfpages}\usepackage{arsclassica}
\input{arsclassica-bob-preamble}\hypersetup{hidelinks} %commentare per la versione a schermo
\begin{document}
\pagenumbering{Roman}
\pagestyle{plain}
%******************************************************************
% Materiale iniziale
%******************************************************************
\includepdf{copertina}\clearpage\input{corpus/frontespizio}\clearpage
\input{corpus/quarta}\clearpage
\input{corpus/dedica}\clearpage
\input{corpus/citazione}\clearpage
\input{corpus/ringraziamenti}\clearpage
\input{corpus/dichiarazione}\clearpage
%\input{corpus/prefazione}\clearpage
\insertblankpage
\pagestyle{scrheadings}\clearpage
\input{corpus/indice-contenuti}\clearpage
\insertblankpage
\input{corpus/titolo}\clearpage
\input{corpus/abstract}\clearpage
%******************************************************************
% Capitoli
%******************************************************************
\pagenumbering{arabic}
\cleardoublepage\input{capitoli/introduzione}
\adjustmtc
\includepdf{separatore-1}\clearpage
\part{Contesto culturale}
\input{capitoli/1}\clearpage
\input{capitoli/2}\clearpage\includepdf{separatore-2}\clearpage
\part{Ambito tecnologico}
\input{capitoli/3}\clearpage
\input{capitoli/4}\clearpage\includepdf{separatore-3}\clearpage
\part{Scenario applicativo}
\input{capitoli/5}\clearpage
\input{capitoli/6}\clearpage
\input{capitoli/7}\clearpage% *****************************************************************
% Materiale finale
%******************************************************************
\clearpage
\includepdf{separatore-4}\clearpage
\part{Appendice}
\input{capitoli/a}\clearpage
\input{corpus/bibliografia}\clearpage
\input{corpus/sitografia}\clearpage
\input{corpus/colophon}\clearpage
\input{corpus/finale}\clearpage
\end{document}\vspace*{0\baselineskip}
`
-
12 Marzo 2012 alle 21:49 #70904::
In realtà ho commesso un peccato veniale, “memoria” viene sillabato correttamente, al contrario di altre parole.
Se hai trovato delle parole italiane sillabate scorrettamente devi farlo sapere a me, perché sono io quello che cura i pattern per la lingua italiana.:cool:
Please, l’elenco; grazie!:wink:
In 20 anni circa di funzionamento dei pattern per la lingua italiana mi è stato segnalato un solo errore; alcuni altri li ho trovati io, ma in 20 anni avrò corretto tre o quattro pattern. Perciò non sono assolutamente sicuro che i pattern che ho creato siano infallibili, ma senza il feedback degli utenti non posso trovare da solo gli errori di sillabazione possibili in tutte le parole italiane che sembra ammontino a un milione e mezzo circa.

-
12 Marzo 2012 alle 22:06 #70905::
r.falcone” post=70225
Non è affatto chiaro quello che hai fatto. Occorre il forcipe per farti scrivere un po’ di codice? 🙂
No, no, per carità, ecco il codice del mio main 😀
`
\documentclass[11pt,a4paper,oneside,openany,titlepage,fleqn,%
headinclude,footinclude,BCOR5mm,%
numbers=noenddot,cleardoublepage=empty,%
tablecaptionabove]{scrreprt}\usepackage[english,italian]{babel}
\usepackage{sectsty}
\allsectionsfont{\raggedright]
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[suftesi]{frontespizio}
\usepackage[final]{microtype}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{varioref}
\usepackage[style=philosophy-modern,hyperref,backref,square,natbib,ibidtracker=false]{biblatex}
\usepackage[tight,italian]{minitoc}
\usepackage{wrapfig}
\usepackage{chngpage}
\usepackage{chngcntr}
\counterwithout{footnote}{chapter}
\usepackage{calc}
\usepackage{mflogo}
\usepackage{caption,listings,graphicx,subfig}
\usepackage{multicol}
\usepackage{makeidx}
\usepackage{xspace}
\usepackage{mparhack}
\usepackage{fixltx2e}
\usepackage{relsize}
\usepackage{lettrine}
\usepackage{lipsum}
\usepackage{acronym}
\usepackage[eulerchapternumbers,subfig,beramono,eulermath,pdfspacing,listings,parts]{classicthesis}
\usepackage{guit}
\usepackage{pdfpages}\usepackage{arsclassica}
\input{arsclassica-bob-preamble}\hypersetup{hidelinks} %commentare per la versione a schermo`
Oh, finalmente! Be’, certo che non può funzionare. Se avessi detto nel primo messaggio che usi scrreprt e arsclassica forse l’aiuto sarebbe arrivato prima.
Risposta semplice: non se ne parla nemmeno. Occorre praticamente modificare il codice di arsclassica dalla riga 80 alla riga 122.
Lo stile di arsclassica è fatto per titoli corti.
Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.