problemi con definizioni

  • Creatore
    Topic
  • #94487
    Up
    0
    Down
    ::


    Qualcuno sa spegarmi perchè solo il terzo enviroment non funziona?
    In allegato il file tex con il minimum working example che presenta il problema

    [attachment=997]prova.tex[/attachment]

    Grazie

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #94488
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        In realtà il messaggio d’errore dice chiaramente il perché: il contatore Pcal non è stato definito, quindi la definizione CalS non può essere numerata sotto a Pcal.

        Hai due possibilità:
        1) o sostituisci Pcal con Gcal nella definizione di CalS, oppure
        2) sposti la definizione del contatore Gcal prima del titolo, in modo che quella definzione sia numerata come le altre due.

        Io ho provato con `\newtheorem{Gcal}{Grande Caloria \textit{Cal} o \textit{kcal}}[section]
        \theoremstyle{definition}
        \newtheorem{Pcal}[Gcal]{Piccola Caloria \textit{cal}}
        \theoremstyle{definition}
        \newtheorem{CalS}[Gcal]{Calore Specifico}`e funziona come mi sarei aspettato.

      • #94489
        Up
        0
        Down
        ::

        mengops” post=94094Qualcuno sa spegarmi perchè solo il terzo enviroment non funziona?
        In allegato il file tex con il minimum working example che presenta il problema

        [attachment=997]prova.tex[/attachment]

        Grazie

        Riporto la soluzione data altrove.

        Con
        `
        \newtheorem{abc}{Abc}[section]
        \newtheorem{xyz}[abc]{Xyz}
        `
        stai dicendo a LaTeX che gli ambienti per teoremi `abc` e `xyz` hanno il contatore in comune; quindi nessun contatore `xyz` viene definito.

        Potresti scrivere
        `
        \theoremstyle{definition}
        \newtheorem{Gcal}{Grande Caloria \textit{Cal} o \textit{kcal}}[section]
        \newtheorem{Pcal}[Gcal]{Piccola Caloria \textit{cal}}
        \newtheorem{CalS}[Gcal]{Calore Specifico}
        `
        Un’istruzione [tt]\theoremstyle{definition}[/tt] è sufficiente.

        C’è però un modo migliore.
        `
        \documentclass[12pt,a4paper]{report}
        \usepackage[T1]{fontenc}
        \usepackage[italian]{babel}
        \usepackage[utf8]{inputenc}

        \usepackage{amssymb,amsthm,mathtools}
        \usepackage{amsmath, textcomp}
        \usepackage{titling}

        \theoremstyle{definition}
        \newtheorem{vardef*}{\vardefname}[section]
        \newcommand\vardefname{} % initialize
        \newenvironment{vardef}[1]
        {\renewcommand\vardefname{#1}\begin{vardef*}}
        {\end{vardef*}}

        \begin{document}

        \chapter{1}
        blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah

        \chapter{2}
        \section{2.1}
        blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah

        \begin{vardef}{Grande Caloria \textit{Cal} o \textit{kcal}}
        blah blah blah blah blah blah blah blah blah blah blah blah blah blah
        \end{vardef}

        \begin{vardef}{Piccola Caloria \textit{cal}}
        blah blah blah blah blah blah blah blah blah blah blah blah blah blah
        \end{vardef}

        blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah

        \begin{vardef}{Calore Specifico}
        blah blah blah blah blah blah blah blah blah blah blah blah blah blah
        \end{vardef}

        blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah

        \end{document}
        `
        Hai un solo ambiente generico per le definizioni e darai il titolo quando apri l’ambiente, così da non dover definire un ambiente per ogni tipo nel preambolo.
        You have just a generic environment for definitions and give the title at statement time rather than having a different environment for each in the preamble.

        Ciao
        Enrico

    Visualizzazione 1 filone di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top