Re: Il punto del teorema

#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.

    Go to top