Re: Eliminare sillabazione nei titoli di sezione e nel toc

#70900
OldClaudio
Partecipante
    Up
    0
    Down
    ::

    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.

    Go to top