definizione intelligente di simboli

  • Creatore
    Topic
  • #94425
    Up
    0
    Down
    ::


    Buongiorno a tutti, è parecchio che non scrivo nel forum, ma noto che siete sempre molto attivi.
    Mi sto accingendo a scrivere la tesi di dottorato, e dato che utilizzo molti simboli definiti da me sia in modalità testo che in modalità matematica mi chiedevo se non fosse possibile dare una definizione “elastica” di un simbolo in modo tale che possa essere richiamato sia nel testo che nella matematica, senza utilizzare $\comando$ quando lo voglio citare nel testo.
    Mi spiego meglio, un comando che uso molto è:

    \newcommand*{\Lx}{L_\mathrm{X}}

    che poi richiamo in modalità matematica come \Lx, mentre in modalità testuale sono costretto ad utilizzare $\Lx$.
    C’è un modo di definire questo semplice simbolo in modo tale che io possa chiamare \Lx sia in modalità testo che in modalità matematica?

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #94426
      Up
      0
      Down
      ::

      koliacos” post=94031Buongiorno a tutti, è parecchio che non scrivo nel forum, ma noto che siete sempre molto attivi.
      Mi sto accingendo a scrivere la tesi di dottorato, e dato che utilizzo molti simboli definiti da me sia in modalità testo che in modalità matematica mi chiedevo se non fosse possibile dare una definizione “elastica” di un simbolo in modo tale che possa essere richiamato sia nel testo che nella matematica, senza utilizzare $\comando$ quando lo voglio citare nel testo.
      Mi spiego meglio, un comando che uso molto è:

      \newcommand*{\Lx}{L_\mathrm{X}}

      che poi richiamo in modalità matematica come \Lx, mentre in modalità testuale sono costretto ad utilizzare $\Lx$.
      C’è un modo di definire questo semplice simbolo in modo tale che io possa chiamare \Lx sia in modalità testo che in modalità matematica?

      Con`\newcommand*{\Lx}{\ensuremath{L_\mathrm{X}}}`forse? Esempio: `
      \documentclass[a4paper,11pt]{article}

      \usepackage{amsmath}

      \newcommand*{\Lx}{\ensuremath{L_\mathrm{X}}}

      \begin{document}
      bla bla bla: \Lx

      \[\Lx\]
      \end{document}
      `
      Ciao
      Claudio

    • #94427
      Up
      0
      Down
      ::


      Certo. Rapido e preciso, esattamente quello che mi chiedevo.
      Ci sono controindicazioni ad usare xspace in questo caso?

      `
      \newcommand*{\Lx}{\ensuremath{L_\mathrm{X}}\xspace}
      `

    • #94428
      Up
      0
      Down
      ::


      Direi che sarebbe dannoso. [tt]\xspace[/tt] aggiunge uno spazio dopo la macro, se non lo segue una delle eccezioni. In ambiente matematico l’aggiunta di uno spazio sballa tutte le spaziature. Meglio non inserirlo.

      Oppure usi questo costrutto, che riprende la definizione di [tt]\ensuremath[/tt].
      `
      \makeatletter
      \newcommand*{\Lx}{\ifmmode\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi{L_\mathrm{X}}{$L_\mathrm{X}$\xspace}}
      `

    • #94429
      Up
      0
      Down
      ::

      koliacos” post=94031Buongiorno a tutti, è parecchio che non scrivo nel forum, ma noto che siete sempre molto attivi.
      Mi sto accingendo a scrivere la tesi di dottorato, e dato che utilizzo molti simboli definiti da me sia in modalità testo che in modalità matematica mi chiedevo se non fosse possibile dare una definizione “elastica” di un simbolo in modo tale che possa essere richiamato sia nel testo che nella matematica, senza utilizzare $\comando$ quando lo voglio citare nel testo.
      Mi spiego meglio, un comando che uso molto è:

      \newcommand*{\Lx}{L_\mathrm{X}}

      che poi richiamo in modalità matematica come \Lx, mentre in modalità testuale sono costretto ad utilizzare $\Lx$.
      C’è un modo di definire questo semplice simbolo in modo tale che io possa chiamare \Lx sia in modalità testo che in modalità matematica?

      Non farlo. Non guadagni nulla, anzi ci perdi: tieni ciò che è matematica dentro il modo matematico: è più logico e non difficile da scrivere. C’è poi il problema dello spazio dopo, che [tt]\xspace[/tt] cerca di risolvere, ma non sempre funziona. Invece [tt]$\Lx$[/tt] è senza controindicazioni.

      Già che ci sei, definisci
      `\newcommand{\Lx}{L_{\mathrm{X}}}`
      che è meglio. Non tanto per [tt]*[/tt] (è del tutto irrilevante), quanto per le graffe.

      Ciao
      Enrico

    • #94430
      Up
      0
      Down
      ::

      egreg9″ post=94038Non farlo. Non guadagni nulla, anzi ci perdi: tieni ciò che è matematica dentro il modo matematico: è più logico e non difficile da scrivere. C’è poi il problema dello spazio dopo, che [tt]\xspace[/tt] cerca di risolvere, ma non sempre funziona. Invece [tt]$\Lx$[/tt] è senza controindicazioni.

      Già che ci sei, definisci
      `\newcommand{\Lx}{L_{\mathrm{X}}}`
      che è meglio. Non tanto per [tt]*[/tt] (è del tutto irrilevante), quanto per le graffe.

      Ciao
      Enrico

      OT:
      In effetti mi aspettavo un tuo intervento sapendo che preferisci usare [tt]\ensuremath[/tt] solo quando necessario 😉

      Ciao
      Claudio

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

Go to top