Il punto del teorema

  • Questo topic ha 5 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 23 anni, 3 mesi fa da ev.
  • Creatore
    Topic
  • #948
    Up
    0
    Down
    ::


    Ho un altro problema e visto che siete stati bravi ve lo propongo. Nella tesi ho inserito diversi teoremi con il comando newtheorem….[section] etc.. ed ho in stampa Teorema 1.1.1 non ci sarebbe nessun problema se non fosse per il fatto che il mio relatore vuole subito dopo il numero .— in modo da avere Teorema 1.1.1.— . Quando però lo inserisco all’ interno del teorema questo viene separato. Come posso fare a congiurgerlo. Ho cercato nei file cls o sty se potevo modificare le impostazioni ma il tutto e in via sperimentale a furia di tentativi e non sono riuscita a fare niente. Come faccio?

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #949
      ev
      Partecipante
        Up
        0
        Down
        ::

        il mio relatore vuole subito dopo il numero .— in modo da avere Teorema 1.1.1.—

        A volte mi chiedo se i relatori servono a qualche cosa oltre che a rendere difficile la vita ai tesisti… ma lasciamo perdere. Per risolvere il tuo problema, se hai usato amsthm, nel preambolo aggiungi:
        `\makeatletter
        \thm@headpunct{.—}
        \makeatother
        `
        Se non funziona escogiteremo qualche altra soluzione 😉

      • #950
        ev
        Partecipante
          Up
          0
          Down
          ::


          Mi rispondo da solo.

          La soluzione proposta precedentemente è un po’ troppo sbrigativa e non funziona (il codice di AMS inizia sempre stabilendo come separatore il punto e successivamente intervengono altri cambiamenti dovuti agli “stili” di teorema applicati), quindi ecco qualche cosa che potrebbe funzionare.

          Se usate AMS e compagnia briscola potete:

          1. definirvi un vostro “stile” di teorema (leggete la documentazione di AMS per i dettagli)

          2. modificare brutalmente il separatore in modo simile a come ho già suggerito precedentemente; assumendo che pippo sia il nome dello stile che avete usato all’atto della creazione del teorema con \newtheorem (plain, se non avete specificato diversamente) e che vogliate usare come separatore ~—, inserite il codice seguente appena prima dei comandi \newtheorem:
            `\makeatletter
            \let\old@th@pippo\th@pippo
            \def\th@pippo{\old@th@pippo\thm@headpunct{~—}}%
            \makeatother
            `
            In questo modo, il codice originale di AMS imposta come separatore il punto e poi applica le impostazioni dello stile “pippo” che modificheranno il separatore come desideriamo.

          Se non usate AMS e compagnia potete:

          1. procurarvi il pacchetto ntheorem (dalla descrizione sembra poter fare al caso nostro, ma non l’ho mai usato, quindi prima di imbarcarvi in quest’impresa leggete la documentazione)

          2. eseguire un’altra brutale operazione chirurgica sul codice di LaTeX aggiungendo (nel preambolo o comunque prima della definizione del primo teorema) il seguente codice:
            `\makeatletter
            % Questa macro conterrà il separatore prescelto (modificatelo a piacere).
            \def\nostro@separatore{~—}%
            \def\@xnthm#1#2[#3]{%
            \expandafter\@ifdefinable\csname #1\endcsname
            {\@definecounter{#1}\@newctr{#1}[#3]%
            \expandafter\xdef\csname the#1\endcsname{%
            \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
            \@thmcounter{#1}\nostro@separatore}%
            \global\@namedef{#1}{\@thm{#1}{#2}}%
            \global\@namedef{end#1}{\@endtheorem}}}%
            \makeatother
            `

          Prestate attenzione ai simboli % altrimenti rischiate di ritrovarvi spazi indesiderati nel documento.

          E poi qualcuno mi accusa di non voler rispondere alle domande… tsck, tsck.

        • #951
          Up
          0
          Down
          ::


          Grazie a tutti, per il vostro impegno. Io ho trovato un’ altra soluzione molto grezza, ma efficacie quando inizio il teorema metto
          \hspace{-1ex} .— testo
          anzi per essere più veloce ho utilizzato
          \newcommand{\h}{\hspace{-1ex}
          etc..
          E’ molto brutto lo so perdonatemi se non ho addottato i vostri suggerimenti, ma erano troppo difficili. 😳

        • #952
          Up
          0
          Down
          ::


          A volte le soluzioni brutali sono le migliori perché le altre sono al di fuori della nostra portata, resta cmq inteso che le soluzioni “diifficili” di solito sono quelle che a lungo termine risultano migliori, quindi se devi scrivere un documento complesso forse puoi prendere in considerazione l’idea di metterti un po’ a decifrare il codice proposto da ev, eventualemnte chiedendo aiuto più specifico.
          Una volta sull’antenato di questo forum chiesi rassegnamenti su di un ambiente la cui definizione faceva un centinaio di righe buone, ho chiesto spiegazioni passo a passo e uan persona mi ha mandato paginate di spiegazioni dettagliate, ho richiesto conferme su certi passaggi e ancora ho ricevuto tonnellate di spiegazioni. quel giorno imparai tantissimo.
          naturalmente tutto ciò presuppone un po’ di fatica ed impegno da parte tua, ma potrebbe rivelarsi la strada vincente, pensa se il tuo relatore aveva fatto un errore di battitura e invece di — vuole che tu scriva -*-, devi ricambiare tutto…

          a tal proposito solo una curiosità: perché il tuo newcommand lo usi solo per lo spazio e non per mettere anche il trattino? cioé perché non usi:
          `\newcommand{\h}{\hspace{-1ex} .—} testo`
          ciao ciao

        • #953
          ev
          Partecipante
            Up
            0
            Down
            ::

            quindi se devi scrivere un documento complesso forse puoi prendere in considerazione l’idea di metterti un po’ a decifrare il codice proposto da ev, eventualemnte chiedendo aiuto più specifico.

            Se posso permettermi un’osservazione: i due brani di codice potevano essere semplicemente incollati (uno o l’altro, non tutti e due, ovviamente) nel preambolo di un documento già esistente senza alcun problema (avevo anche fatto il sandwich con \makeatletter…\makeatother), ma l’importante è che il problema sia risolto, in un modo o nell’altro.

            Una volta sull’antenato di questo forum chiesi rassegnamenti su di un ambiente la cui definizione faceva un centinaio di righe buone, ho chiesto spiegazioni passo a passo e uan persona mi ha mandato paginate di spiegazioni dettagliate, ho richiesto conferme su certi passaggi e ancora ho ricevuto tonnellate di spiegazioni.

            Dai, non fare così, non erano poi tante pagine 😉

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

        Go to top