aggiungere un carattere particolare a migliaia di parole

  • Creatore
    Topic
  • #120085
    Up
    0
    Down
    ::


    Buonasera a tutti. Sto cercando di risolvere una questione su Latex che ora espongo.
    Ho un testo, classe book con alcuni capitoli e numerosi paragrafi. Il testo contiene centinaia di migliaia di parole. Il font usato è uno solo ed anche le dimensioni dei caratteri sempre le stesse. A volte si usa lo stile italico, nulla di più.
    La necessità è la seguente: devo inserire in molte parole (penso circa i 2/3 del totale) un carattere particolare: ad esempio la lettera e la quale ha dimensione 9, font Palatino e stile italico.
    Può accadere che in una parola possano esserci anche due di queste lettere particolari.
    Ho affrontato il problema con le macro di Latex, definendo un nuovo comando (ad esempio di nome \enew ) e definendo le sue caratteristiche. Però nel testo e nelle parole in cui devo aggiungere questo particolare carattere ogni volta in realtà ora devo aggiungere anche \enew (5 caratteri anziché uno che servirebbe effettivamente) e questo aumenta il numero dei caratteri del codice in maniera esponenziale rendendomi difficile anche leggere una parola durante la revisione del codice. Vi chiedo se c’è un altro modo o una scorciatoia per poter fare questo. Naturalmente se riduco ai minimi termini il nome della macro il problema è lo stesso, c’è sempre almeno lo \ slash ed un carattere. Avevo anche pensato, ad esempio di usare una ê (e con dieresi che non uso nella lingua del testo) che è un solo carattere, ma come istruire Latex che in fase di compilazione deve sostituire questa ê con e (pt9, Italico e Palatino)? Uso TEXstudio. Ringrazio tutti per il vostro aiuto ed il tempo dedicato.
    Saluti

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #120086
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Scegli un carattere che non usi, mettiamo che sia ë; lo definisci attivo e gli assegni una definizione. Non si tratta di cose banali perché l’unico carattere attivo definito da LaTeX per gli utenti, è la tilde; non toccarla, perché continua a servire; ma puoi crecarne la deifnizione nel file latex.ltx che si trova da qualche parte nella tua installazione (in TeX Live, si trova in …/texlive/2021/texmf-dist/tex/latex/base/ — con MiKTeX non ti so dire) e prendi quella definizione come modello per definrti il tuo carattere. Se scegli ë, che non è un carattere ASCII hai sicuramente delle difficoltà in più e devi vedere se la definizione di carattere attivo a un carattere non ASCII si debba fare in modo speciale (come penso).
        Se usi la tastiera italiana, probabilmente ti conviene usare un carattere di uso improbabile,ma che si trova sulla tastiera italiana, la c con la cediglia ç, mentre ë non si trova in tastiera.
        Buona fortuna…

      • #120087
        Up
        0
        Down
        ::


        Grazie tanto Claudio, mi hai dato una dritta a cui non sarei arrivato da solo. Ho studiato un po’ la definizione dei caratteri attivi. Ora se io in un documento uso questo comando:

        catcode`$ = 3
        \def|{\textit{{\small e}}}

        cioè attribuisco al carattere dollaro, presente sulla tastiera e che non uso nel teso, la mia e particolare,
        nel testo del codice potrò scrivere così:

        Questo è un esempio clarr$d$vont$ schierci$fo$r ovvero di $.

        e dovrei avere come risultato stampato:

        Questo è un esempio clarredevonte schierciefoer ovvero di e.

        Non faccio la prova perché ho paura di creare scompiglio nei file di installazione di Texstudio. Potrebbe andare bene concettualmente (seguendo la strada che sono riuscito a trovare con il tuo aiuto) è il modo più semplice?
        Ciao

      • #120088
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Devi avere qualche problema con il tuo server verso il sito del forum
          Se metti il codice fra i tag di apertura e chiusura del codice che scrivi probabilmente si riuscirebe a capire quello che hai scritto; suppongo che tu abbia scritto`\catcode`\$=13
          \def${\textsubscript{\small\itshape e}}` potrebbe funzionare (sempre che, come appare dai tuoi messaggi) quella piccola e debba essere considerata un pedice. se non è così, togli \textsubscript, ma lascia le graffe, senza esagerare con i livelli di ragguppamento (moltitudine di graffe, dove ogni coiia definisce un gruppo).
          Neanche il l’ho provato, ma l’idea era quella.
          Non avere timore che se metti quelle due righe di codice all’inzio del tuo documento, non roviini le impostazioni di TeXstudio; TeXStudio è solo un editor, e quello che deifnisci nel tuo preambolo o fra [tt]\begin{document}[/tt] e [tt]\end{document}[/tt] non ha nulla a che vedere con TeXstudio. mpara a separare l’editor intelligente, dal programma di composizione; TeXstudio è solo un editor intelligente che quando clicchi sull’apposita icona o l’apposita voce di menu, salva su disco il file sui stavi lavorando e poi invia al sistema operativo l’ordine di eseguire pdflatex (o xelatex, o… con qualsiasi programma di compilazione che tu abbia configurato, eventualmente con le righe magiche (commenti di autoconfigurazione). Se questi concetti non ti sono chiari, per favore (a te stesso) leggiti una buona guida per neofiti, o anche solamente la guida tematica Il LaTeX Reference Manual commentato che è il manuale di Leslie Lamport, il creatore di LaTeX (la parte La prima di TeX, serve a richiamare il cognome Lamport), tradotto in italiano e commentato con molte aggiunte per mettere il manuale a livello con i cambiamenti intervenuti sul linguaggio LaTeX2e, dal 1994 ad oggi 😉

        • #120089
          Up
          0
          Down
          ::


          Grazie funziona. Ho fatto delle prove e va bene.
          Nel copia incolla è cambiato qualcosa, scusa.
          Non conoscendo questi comandi pensavo che andassero a modificare delle definizioni base (il nome della cartella ed il file mi hanno messo sull’attenti) .
          Comunque ho imparato una cosa molto utile penso anche per chi avrà la mia stessa esigenza.
          Saluti

        • #120090
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            epserione” post=120566Grazie funziona. Ho fatto delle prove e va bene.
            Nel copia incolla è cambiato qualcosa, scusa.
            Non conoscendo questi comandi pensavo che andassero a modificare delle definizioni base (il nome della cartella ed il file mi hanno messo sull’attenti) .
            Comunque ho imparato una cosa molto utile penso anche per chi avrà la mia stessa esigenza.
            Saluti

            Ciao.
            potresti considerare anche LuaLaTeX. Questo potente motore di composizione che lavora con il formato LaTeX, ammette le callback. Sono funzioni utente che vengono chiamate in particolari momenti dell’elaborazione, normalmente non definite.
            Una funzione simile potrebbe in autonomia sostituire le e nelee parole e non dovresti modificare il testo.
            Alla prossima.
            R.

          • #120091
            Up
            0
            Down
            ::


            Uun’altra strada per scrivere per es. ë (come suggerito da OldClaudio) e far sì che venga composto come `\textsubscript{\small\itshape e}` potrebbe essere usare il pacchetto newunicodechar (con XeLaTeX o LuaLaTeX). Nel preambolo si scriverebbe
            `\newunicodechar{ë}{\textsubscript{\small\itshape e}}
            `
            Sospetto che sia meno efficiente dell’altra strada, ma chissà…

          • #120092
            Up
            0
            Down
            ::


            Grazie per la risposta;
            uso Xelatax per compilare ed ho fatto diverse prove, per ora funziona usando nel preambolo del mainfile questo:
            \catcode`\ḙ=13
            \defḙ{\textsf{\textsl{\scriptsize e}}}

            Se uso \itshape vengono scritte in corsivo tutte le parole successive all’occorrenza del carattere,
            se uso \textsubscript vengono scritte in piccolo tutte le parole successive all’occorrenza del carattere.
            Ho un file master e diversi file figli.
            Dopo faccio una prova con \newunicodechar e ti informo.

            Ho scaricato la guida Lualatex… non conoscendolo… praticamente è un linguaggio che permette di inserire comandi all’interno del codice Latex. Ad esempio per il mio scopo trovo interessante le funzioni di fusione, concatenazione e combinazione di stringhe e le assegnazioni di carattere. Vi informerò.
            Saluti e buona Domenica.

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

        Go to top