Ri-definizione tecnica

  • Questo topic ha 9 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 17 anni fa da Bido.
  • Creatore
    Topic
  • #36249
    Up
    0
    Down
    ::


    Ciao a tutti e buona domenica!

    Avrei una domanda tecnica, che illustro con un esempio. Supponiamo che abbia un documento in cui siano presenti negli ambienti matematici delle lettere greche: \alpha, \beta, …

    Supponiamo che, alla fine, voglia scrivere al posto di ogni alpha una coppia giustapposta “a\alpha”, al posto di ogni beta “b\beta” e così via. Non vorrei usare una specie di Replace All perché ho paura che sorgano degli errori e passerei la giornata intera a cercarli! Vorrei semplicemente ridefinire l’ \alpha in modo che scriva “a\alpha”, ecc ecc

    Le mie prove sono state fallimentari perché: non posso usare \relax su \alpha e poi una definizione in cui compaia \alpha perché ovviamente latex non sa più cosa sia \alpha; non posso scrivere un “redef\alpha” che poi abbia dentro un’altra \alpha perché mi va in loop; non posso usare una variabile d’appoggio (diciamo aux) che conservi la vecchia \alpha e poi mettere un relax perché quando tento di definire nuovamente \alpha in “aux” non ci trovo niente. 😥

    Idee?

    Grazie,
    bye

Visualizzazione 8 filoni di risposte
  • Autore
    Risposte
    • #36250
      Up
      0
      Down
      ::


      Io terrei l’idea della variabile aux. Ad esempio:
      `\let\aux\alpha
      \renewcommand{\alpha}{a\aux}`
      Se scrivi $\aux$ ottieni il vecchio alpha, se scrivi $\alpha$ ottieni quanto richiesto.

    • #36251
      Up
      0
      Down
      ::


      Grazie mille, funziona! Io tentavo sempre di usare un \relax, invece.. :mrgreen:

      Scusa se approfitto, ma sto tentando di adattare il codice per un operatore. Se quella \alpha fosse in realtà un mathoperator come farei? (sto tentando 🙂 )

      Bye bye

      P.S. Ho provato così, dove \operator è un qualche operatore già definito:
      \let\operator\aux
      \renewcommand{\operator}{\operatornamewithlimits{\aux}}

      se applico apici o pedici (tipo $\operator_i$) vengono messi un po’ male; immagino perché già \aux abbia lo spazio per apici e pedici (i limits per capirci) e io non faccio altro che aggiungere altro spazio…

    • #36252
      Up
      0
      Down
      ::


      \let\operator\aux

      Sbagli ad usare \let, devi invertire i suoi argomenti rispetto a come li hai messi tu.
      Quanto è scritto vuol dire “fai diventare \operator esattamente ciò che è \aux” mentre tu dovresti fare la definizione opposta…
      …credo 😉

      LuCa

    • #36253
      Up
      0
      Down
      ::


      Si si hai ragione tu. Comunque il problema resta.

      In pratica è come se avessi una box e lui mi mettesse i limits letteralmente sopra e sotto la box; io vorrei un po’ giostrarmeli, spostandoli di alcunii punti a destra, in basso, ecc ecc

      Cmq il problema sotto a sta cosa è che vorrei prendere un operatore e ingrandirne il carattere, solo per quell’operatore. Ad es. far diventare tutti i \sum con un size maggiore, ma in modo tale (ovviamente) che gli apici “seguano” il carattere (cioè che non stiano nello stesso identico punto di prima, ma leggermente spostati, presumibilmente… ).

      Bye bye

    • #36254
      Up
      0
      Down
      ::


      Non ho capito molto bene perché devi fare questi giochini con gli operatori.
      Il modo opportuno per definire un nuovo operatore è spiegato molto bene nel manuale del pacchetto amsmath, trovi il link qui sopra (pagina sedici e seguenti).
      In questo modo LaTeX si occupa personalmente del posizionamento di apici e pedici nella maniera corretta.

      Inoltre, potresti postare il codice che hai preparato finora, potrebbe essere illuminante. 😉

      LuCa

    • #36255
      Up
      0
      Down
      ::


      Se vuoi solo un operatore \sum più grande, leggi su mathmode.pdf a pagina 91 come fare (si usa il pacchetto exscale):
      http://www.tex.ac.uk/tex-archive/info/math/voss/mathmode/Mathmode.pdf

    • #36256
      Up
      0
      Down
      ::


      Per minnolina: Exscale funziona solo per il computer modern mi pare di capire

      Per Bistek: prima di postare il codice (che ho su un altro pc 😳 ) espongo la domanda, che forse non sono stato chiaro.

      La richiesta fondamentale sarebbe creare operatori più grandi e più piccoli di quelli già definiti, ma in realtà non solo operatori. Per intenderci, vorrei una cosa tipo \Biggl\{ che mi fa una graffa grande anche per le somme, gli integrali, … e anche per il resto dei simboli, se necessario.

      Ovviamente esiste resizebox, ma definendo un operatore con un resibox all’interno, i pedici e gli apici vengono messi “male”, cioè agli estremi in alto a destra e in basso a sinistra della bounding box. Ovviamente LaTeX interpreta alla lettera, quindi dandogli una box lui deve metterli lì gli estremi, perché non sa cosa ci sia dentro. Ma, anche cercando a mano di trascinarli un po’ più vicino o più lontano, pedici e apici non si muovono: e anche questo è normale, perché sto soltanto inserendo o mangiando spazi all’ìinterno della box.

      Tutto ciò perché chiaramente se scrivo ” \text{\huge $\displaystyle{\sum}$ } ” lo huge non agisce per nulla e inoltre l’aver messo il text crea una box, e apici e pedici vengono messi “male” (=spero si sia capito che “male” significa solo “non come li metteremmo a mano”).

      Io invece vorrei soltanto un simbolo più grande all’interno di una formula.

      Spero di essere stato chiaro.

      Grazie per l’attenzione.

      Bye bye

    • #36257
      Up
      0
      Down
      ::


      Puoi allora usare il pacchetto relsize come a pagina 93 di mathmode.pdf.

    • #36258
      Up
      0
      Down
      ::


      Grazie! Sembra proprio fare al caso mio… senza il tuo aiuto non l’avrei mai trovato!!

      Ringrazio anche Luca per l’interessamento.

      Ora provo, vi faccio sapere 😉

      Bye bye

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

Go to top