Shorthand per begin{split} e end{split}

  • Creatore
    Topic
  • #102161
    PM
      Up
      0
      Down
      ::


      Salve a tutti. Tempo fa ho definito degli shorthands:

      `
      \def\be{\begin{equation}}
      \def\ee{\end{equation}}
      `

      e tutto funziona a meraviglia.

      Ho pensato di creare anche

      `
      \def\bs{\begin{split}}
      \def\es{\end{split}}
      `

      tuttavia ho dei problemi. In particolare, non funziona

      `
      \be
      \bs

      \es
      \ee
      `

      mentre funziona perfettamente

      `
      \be
      \bs

      \end{split}
      \ee
      `

      Chiaramente ho provato a dare i nomi più stravaganti a \es per assicurarmi che non fosse un problema di un comando già definito. Così non è. Cosa sbaglio? Come posso fare per digitare giusto due caratteri come shorthand?

      Saluti
      M.P.

    Visualizzazione 2 filoni di risposte
    • Autore
      Risposte
      • #102162
        Up
        0
        Down
        ::


        Penso ti sia imbattuto in uno dei motivi per cui si consiglia di non utilizzare gli shorthands degli ambienti. Infatti alcuni ambienti per svolgere il loro compito devono raccogliere il testo che inserisci per lavorarci sopra e restituirti il risultato sperato. Per fare ciò, utilizzano come delimitatore della raccolta di testo proprio il comando [tt]\end{split}[/tt], che non può essere annidato dentro un altro comando. Infatti il comando [tt]\begin{split}[/tt] internamente dopo aver impostato ciò che gli serve, comincia a “raccogliere” il testo che lo segue, fino ad arrivare a [tt]\end{split}[/tt]. Il problema è che, se quest’ultimo è annidato dentro un altro comando, non viene trovato (perché dovresti espandere il comando che lo contiene, ma questo avviene troppo tardi).

        Mi spiace per te, ma non si può proprio fare niente in proposito, perché deve essere presente in chiaro nel sorgente proprio il comando [tt]\end{split}[/tt] che tu vuoi rimuovere. 🙁

      • #102163
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Capisco che scrivere tutti quei \begin{…} e \end{…} sia fastidioso, ma rende il file sorgente leggibile e evita gli inconvenienti che ti ha indicato @skevin92.

          Le scorciatoie servono per altri scopi, specialmente per evitare di usare il mouse; oppure servono per scrivere del testo che richiede una formattazione particolare; per esempio \LaTeX è una scorciatoia che ti evita di indicare come, quanto, che cosa devi fare ogni volta per alzare e crenare la A, e come, quanto e che cosa devi fare per abbassare e crenare la E.

          Le scorciatoie sono usate alla grande dai vari editor, specialmente da emacs, che dispone di circa 200 scorciatoie (forse di più), ma che viene usato solo dalle persone che lo usano quotidianamente a lungo ed hanno una memoria eccezionale. Le scorciatoie da tastiera sono utilissime, ma quando è troppo, è troppo!

          Invece quasi tutti gli editor da usarsi per comporre i file sorgente del sistema TeX dispongono di mezzi per l’autocompletion; spesso ti consentono di premere le lettere iniziali di un comando, di premere un tasto speciale (, , o altro) e la stringa che costituisce il comando viene completata immediatamente; spesso ti consentono di scrivere \begin e di premere il tasto apposito, per vedere inserito anche l’\end, con tutte le graffe necessarie, e quando scrivi fra le graffe del \begin il nome dell’ambiente, lo stesso nome ti appare fra le graffe dell’\end.

          Io non uso queste cose, o le uso pochissimo, quindi non ti so indicare gli editor che lo fanno; forse mi sono installato anche uno o due editor che sono capaci di fare questi miracoli, ma è una funzionalità che non mi piace e non la uso e non so nemmeno se ne siano dotati.

        • #102164
          Up
          0
          Down
          ::

          OldClaudio” post=101982
          Invece quasi tutti gli editor da usarsi per comporre i file sorgente del sistema TeX dispongono di mezzi per l’autocompletion; spesso ti consentono di premere le lettere iniziali di un comando, di premere un tasto speciale (, , o altro) e la stringa che costituisce il comando viene completata immediatamente; spesso ti consentono di scrivere \begin e di premere il tasto apposito, per vedere inserito anche l’\end, con tutte le graffe necessarie, e quando scrivi fra le graffe del \begin il nome dell’ambiente, lo stesso nome ti appare fra le graffe dell’\end.

          Un esempio è TeXstudio: è sufficiente scrivere lo slash e poche lettere per veder comparire una finestra con tutta una serie di proposte. Se poi si premere [tt]CTRL+barra spaziatrice[/tt] il comando viene subito completato automaticamente 😉

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

      Go to top