Trattino indivisibile

  • Creatore
    Topic
  • #119473
    Up
    0
    Down
    ::


    Una domanda banale: come fare perché parole o sigle con trattino (es. father-in-law) non vengano spezzate in fase di sillabazione?
    A quanto leggo ci sono queste possibilità:

    • includere l’espressione in un mbox;
    • usare il pacchetto amsmath e il comando \nobreakdash-\
    • per alcune lingue, ma non per l’italiano, babel e polyglossia permettono di inserire un trattino insecabile con la combinazione “~

    Prima domanda: ci sono altri approcci più semplici o più sensati?
    Forse il “dizionario” usato per la sillabazione già contempla un certo numero di casi e dunque non è necessario un trattino “speciale”?
    Seconda domanda: lavorando con XeLaTeX e con documenti importati a LaTeX, ma creati con altri sistemi, può capitare di avere dei documenti che già contengono il carattere Unicode “Non-breaking Hyphen” (U+2011). Qualcuno sa se XeLaTeX lo tratta come insecabile in fase di sillabazione?

    Grazie in anticipo.

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #119474
      samiel
      Partecipante
        Up
        0
        Down
        ::


        guarda questa discussione:
        How to force LaTeX not to break the line after a hyphen “-”?
        con una delle note magie di egreg.
        Considera anche il pacchetto extdash

        m

      • #119475
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          @Iackobus-1983, Benvenuto nel Forum.

          Ogni lingua, compreso l’italiano, sia con babel sia con polyglossia, dispone di suio comandi specifici per consentire la cesura dopo un trattino; LaTeX, senza usare le funzionalità delle lingue, evita di dividere in fin di riga le parole composte legate dal trattinocopulativo, per il semplice motivo che non si riesce più a distinguere un trattino copulativo da un trattino di cesura (*). La cosa migliore per evitare queste cose non è tanto quella di riformulare la frase in modo tale che la parola composta legata da trattini NON si trovi vero un fine riga; Talvolta basta spostare un aggettivo o un avverbio, se il testo lo consente, talvolta basta usare alcuni trucchi come quello di allungare o accorciare di una riga l’intero capoverso; ma non c’è una regola generale.

          A me non dispiace consentire la cesura a metà di una parola composta e legata col trattino, perché il contesto consente di disambiguare la funzione svolta da ciascun trattino; ma se la cosa può andare bene per l’italiano non necessariamente va ben per un’altra lingua; avrei grossi problemi con francese; in inglese il trattino copulativo è raro. in tedesco le parole si compongono senza trattino copulativo, ma i pattern di sillabazione per il tedesco sono circa molte più numerosi che per l’italiano, (l’ultima volta che ci ho dato un’occhiata i pattern di sillabazione per l’italiano sono meno di 400, mentre quelli per il tedesco sono più di 12000, grazie appunto alla frequenza di parole composte.

          (*) Nel mondo del sistema TeX, specialmente da parte del Team che si occupa della cesura, si distingue fra syllabification e hyphenation; il primo termine, traducibile in sillabazione, riguarda la grammatica, il secondo riguarda la tipografia; è ovvio che la cesura in fin di riga deve rispettare la grammatica, ma non vale il viceversa: un esempio che porto sempre è quello della parola “idea; secondo la grammatica è divisibile in “i-de-a”; secondo la tipografia NON è divisibile in fin fin riga, perché la prima e l’ultima sillabe sono troppo corte; ma se ci metti l’articolo con elisione la tipografia consente “l’i-dea”.

        • #119476
          Up
          0
          Down
          ::


          Tante grazie della risposta!
          Dunque se capisco bene un trattino normale inserito nel corpo di una parola impedisce la sillabazione, e perciò in linea di massima non è necessario (a differenza che nei normali elaboratori di testo) utilizzare un trattino “speciale” quando il trattino è preceduto e seguito da caratteri alfabetici, ma solo in casi speciali (in effetti nella discussione citata da samiel c’è di mezzo una parentesi…).
          È così? O invece la cosa viene fatta sulla base di un dizionario che contiene solo un certo numero di parole con trattino copulativo?

        • #119477
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            No, niente dizionari, altrimenti l’elaborazione diventerebbe troppo lenta. L’algoritmo di divisione in fin di riga è descritto in un capitolo della GuidaGuIT; Sezione Documentazione di questo forum: /wp-content/uploads/joomla-images/doc/guidaguit-b5.pdf. L’intero file è un grosso malloppo di più di 800 pagine, ma tra indiice generale e indice analitico le ricerche si fanno abbastanza in fretta. Comunque uno degli ultimi capitoli descrive il metodo usato epr la cesura. Per quel che riguarda l’italiano babel può attivare o disattivare il carattere ” per renderlo attivo o renderlo un normale carattere analfabetico; quando è attivo produce tanti effetti descritti nel file che si legge con texdoc babel-italian Per quel che riguarda polyglossia il carattere ” è disattivato di default; per attivarlo bisogna esprimere una specifica opzione con la sintassi giusta, descritta nella documentazione di polyglossia.

            Il concetto delicato da afferrare è come il compilatore interpreta una parola divisibile in fin di riga; lo fa solo nel momento di spedire un capoverso grezzo, non ancora diviso in righe verso il file di uscita; una parola è una sequenza di simboli, generalmente lettere, ma non solo, che hanno il codice di lettera minuscola diverso da 0; ma vedi che anche con queste poche parole la spiegazione diventa difficile. Ecco perché puoi approfondire sia leggendo il capitolo della GuidaGuIT sulla cesura, sia facendo esperimenti alla luce di quello che si impara leggendo quel capitolo. il processo è molto complicato e coinvolge, ovviamente anche il modo di dividere un capoverso in righe giustificate; se ti metti a leggere i capitoli sullla cesura e sulla divisione in righe del capoversi, vedi quanto c’è dietro.

            Non hai bisogno di essere un matematico o un ingegnere per capire quei capitoli, sono alla portata di tutti, ma si parla di cose delicate.

            Sono troppo vago? forse, ma non sono temi che si possono trattare in poche righe.

          • #119478
            Up
            0
            Down
            ::

            OldClaudio” post=119952Sono troppo vago? forse, ma non sono temi che si possono trattare in poche righe.

            Be’, se questa si chiama vaghezza, mi va di gran lusso 🙂
            Grazie mille per le preziose e precise indicazioni.

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

        Go to top