Riquadro per assiomi

  • Questo topic ha 12 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 11 anni fa da Simon.
  • Creatore
    Topic
  • #103068
    Up
    0
    Down
    ::


    Caro forum,

    vorrei porvi un quesito, sempre che si possa risolvere abbastanza agevolmente.

    Sono in piena scrittura della mia tesi di dottorato e ho un capitolo in cui metto gli assiomi utilizzati. La scelta che ho fatto ora è provvisoria e la cambierò sicuramente nella revisione finale, tuttavia vorrei capire quanto possa essere fattibile la mia idea.

    Vorrei poter creare un ambiente che abbia un argomento e un corpo.

    L’argomento dovrebbe essere il titolo dell’assioma, mentre nel corpo l’assioma stesso.

    Dovrebbe esserci un riquadro esterno (magari con angoli arrotondati che ammorbidiscano il tutto) con il nome dell’assioma e un riquadro interno (di colore diverso) che riporti l’assioma.

    All’interno del corpo si dovrebbe poter scrivere formule. Possibilmente mi piacerebbe che ci fosse una numerazione all’inizio del titolo dell’assioma, qualcosa come A1:, A2:… Sì, lo potrei scrivere a mano ma mi innervosirebbe sapere di non poter scambiare due assiomi (e avere i relativi link degli assiomi).

    Se non rompo tanto sarebbe carino anche avere il link nel testo elettronico quando li cito. Ma comunque è secondario.

    Purtroppo non ho idea di come provarci visto che ho sempre usato LaTeX in modo molto semplice e non mi sono mai messo a fare queste cose! Il box che sto utilizzando l’ho trovato su un forum e non ho la più pallida idea di come sia stato fatto…

    Allego due file il primo, su sfondo giallo, è la soluzione adattata ora. Il secondo si avvicina a qualcosa che vorrei fare.

    Aggiungo che sto scrivendo la tesi in LaTeX e sono partito dal modello tesi classica di Lorenzo!

    Grazie mille in anticipo!

    Cari saluti

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #103069
      franen
      Partecipante
        Up
        0
        Down
        ::


        Col pacchetto mdframed fai tutto, forse anche con framed

        Buon lavoro

      • #103070
        Up
        0
        Down
        ::


        Grazie per la segnalazione del pacchetto. Purtroppo sto avendo qualche problema…

        Ho trovato un esempio che mi piace ecco l’esempio minimo:

        `

        \documentclass[parskip=false,english,11pt]{ltxmdf}

        \newcommand\Loadedframemethod{TikZ}
        \usepackage[framemethod=\Loadedframemethod]{mdframed}

        \mdfsetup{skipabove=\topskip,skipbelow=\topskip}
        \newrobustcmd\ExampleText{%
        An \textit{inhomogeneous linear} differential equation has the form
        \begin{align}
        L[v ] = f,
        \end{align}
        where $L$ is a linear differential operator, $v$ is
        the dependent variable, and $f$ is a given non-zero
        function of the independent variables alone.
        }

        \begin{document}

        \tikzset{titregris/.style =
        {draw=gray, thick, fill=white, shading = exersicetitle, %
        text=gray, rectangle, rounded corners, right,minimum height=.7cm}}
        \pgfdeclarehorizontalshading{exersicebackground}{100bp}
        {color(0bp)=(green!40); color(100bp)=(black!5)}
        \pgfdeclarehorizontalshading{exersicetitle}{100bp}
        {color(0bp)=(red!40);color(100bp)=(black!5)}
        \newcounter{exercise}
        \renewcommand*\theexercise{Exercise~n\arabic{exercise}}
        \makeatletter
        \def\mdf@@exercisepoints{}%new mdframed key:
        \define@key{mdf}{exercisepoints}{%
        \def\mdf@@exercisepoints{#1}
        }
        \mdfdefinestyle{exercisestyle}{%
        outerlinewidth=1em,outerlinecolor=white,%
        leftmargin=-1em,rightmargin=-1em,%
        middlelinewidth=1.2pt,roundcorner=5pt,linecolor=gray,
        apptotikzsetting={\tikzset{mdfbackground/.append style ={%
        shading = exersicebackground}}},
        innertopmargin=1.2\baselineskip,
        skipabove={\dimexpr0.5\baselineskip+\topskip\relax},
        skipbelow={-1em},
        needspace=3\baselineskip,
        frametitlefont=\sffamily\bfseries,
        settings={\global\stepcounter{exercise}},
        singleextra={%
        \node[titregris,xshift=1cm] at (P-|O) %
        {~\mdf@frametitlefont{\theexercise}\hbox{~}};
        \ifdefempty{\mdf@@exercisepoints}%
        {}%
        {\node[titregris,left,xshift=-1cm] at (P)%
        {~\mdf@frametitlefont{\mdf@@exercisepoints points}\hbox{~}};}%
        },
        firstextra={%
        \node[titregris,xshift=1cm] at (P-|O) %
        {~\mdf@frametitlefont{\theexercise}\hbox{~}};
        \ifdefempty{\mdf@@exercisepoints}%
        {}%
        {\node[titregris,left,xshift=-1cm] at (P)%
        {~\mdf@frametitlefont{\mdf@@exercisepoints points}\hbox{~}};}%
        },
        }
        \makeatother

        \begin{mdframed}[style=exercisestyle]
        \ExampleText
        \end{mdframed}

        \begin{mdframed}[style=exercisestyle,exercisepoints=10]
        \ExampleText
        \end{mdframed}

        \end{document}

        `

        Tuttavia, una volta inserito nella mia tesi mi compila la prima volta e la seconda volta mi dice:

        Package xcolor error: Undefined color “RoyalBlue”

        se vado avanti con la compilazione mi da questo errore per ogni elemento dell’indice. Alla fine l’indice lo compila ma non mette il link nel pdf… Qualcuno saprebbe darmi una dritta su questo problema?

      • #103071
        Up
        0
        Down
        ::


        Ho circoscritto il problema.

        Infatti commentando tutto non mi segnala alcun problema (come prima).

        Appena inserisco il comando

        \usepackage[framemethod=TikZ]{mdframed}

        mi restituisce quell’errore…

      • #103072
        Up
        0
        Down
        ::


        Problema finalmente risolto, trovato su questo forum.

        A quanto pare il tutto torna a funzionare mettendo:

        \usepackage[dvipsnames]{xcolor}

        prima di caricare mdframed.

        Sinceramente mi risulta oscuro ma ora mi funziona…

        Grazie ancora per la segnalazione del pacchetto!

      • #103073
        Up
        0
        Down
        ::


        A quanto pare inserendo

        \usepackage[dvipsnames]{xcolor}

        prima di caricare mdframed funziona. Mah…

        Comunque grazie per la segnalazione del pacchetto!!

      • #103074
        Liverpool
        Partecipante
          Up
          0
          Down
          ::


          Ti stavo rispondendo…
          [tt]mdframed[/tt] carica [tt]tikz[/tt] che a sua volta carica [tt]xcolor[/tt] senza opzioni (e quindi soltanto con le definizioni dei colori fondamentali). Se vuoi usare un colore già definito, devi caricare [tt]xcolor[/tt] con un’opzione, prima di caricare [tt]tikz[/tt] (e quindi in questo caso [tt]mdframed[/tt]), altrimenti ottieni un altro errore.
          Hai trovato la soluzione da solo.

          Ciao

        • #103075
          Up
          0
          Down
          ::


          Piuttosto che mdframed, considererei tcolorbox oggi. È molto più sviluppato e personalmente lo trovo più facile da usare.

          Ciao
          Claudio

        • #103076
          Up
          0
          Down
          ::


          Grazie per la risposta.

          Ho un ultimo (per ora) problema:

          ho modificato quell’esempio per scrivere nel riquadro rosa Axiom An:

          dove n è il numero del contatore.

          Se ora volessi aggiungere un’opzione caricando mdframed per mettere il titolo e che sia posizionato dopo i due puntini?

          Ecco l’esempio compilante

          `
          \documentclass[parskip=false,english,11pt]{ltxmdf}

          \newcommand\Loadedframemethod{TikZ}
          \usepackage[framemethod=\Loadedframemethod]{mdframed}

          \begin{document}

          \tikzset{titregris/.style =
          {draw=gray, thick, fill=white, shading = exersicetitle, %
          text=gray, rectangle, rounded corners, right,minimum height=.7cm}}
          \pgfdeclarehorizontalshading{exersicebackground}{100bp}
          {color(0bp)=(green!40); color(100bp)=(black!5)}
          \pgfdeclarehorizontalshading{exersicetitle}{100bp}
          {color(0bp)=(red!40);color(100bp)=(black!5)}
          \newcounter{exercise}
          \renewcommand*\theexercise{Axiom~A\arabic{exercise}: }
          \makeatletter
          \def\mdf@@exercisepoints{}%new mdframed key:
          \define@key{mdf}{exercisepoints}{%
          \def\mdf@@exercisepoints{#1}
          }
          \mdfdefinestyle{exercisestyle}{%
          outerlinewidth=1em,outerlinecolor=white,%
          leftmargin=-1em,rightmargin=-1em,%
          middlelinewidth=1.2pt,roundcorner=5pt,linecolor=gray,
          apptotikzsetting={\tikzset{mdfbackground/.append style ={%
          shading = exersicebackground}}},
          innertopmargin=1.2\baselineskip,
          skipabove={\dimexpr0.5\baselineskip+\topskip\relax},
          skipbelow={-1em},
          needspace=3\baselineskip,
          frametitlefont=\sffamily\bfseries,
          settings={\global\stepcounter{exercise}},
          singleextra={%
          \node[titregris,xshift=1cm] at (P-|O) %
          {~\mdf@frametitlefont{\theexercise}\hbox{~}};
          \ifdefempty{\mdf@@exercisepoints}%
          {}%
          {\node[titregris,left,xshift=-1cm] at (P)%
          {~\mdf@frametitlefont{\mdf@@exercisepoints points}\hbox{~}};}%
          },
          firstextra={%
          \node[titregris,xshift=1cm] at (P-|O) %
          {~\mdf@frametitlefont{\theexercise}\hbox{~}};
          \ifdefempty{\mdf@@exercisepoints}%
          {}%
          {\node[titregris,left,xshift=-1cm] at (P)%
          {~\mdf@frametitlefont{\mdf@@exercisepoints points}\hbox{~}};}%
          },
          }
          \makeatother

          \begin{mdframed}[style=exercisestyle]
          Testo assioma
          \end{mdframed}

          \end{document}

          `

          Purtroppo per me è indigeribile 😀

        • #103077
          Up
          0
          Down
          ::

          cfiandra” post=103064Piuttosto che mdframed, considererei tcolorbox oggi. È molto più sviluppato e personalmente lo trovo più facile da usare.

          Ciao
          Claudio

          Devo dire che mi hai salvato!

          Ecco come viene ora (modulo i colori che sono osceni e che sistemerò dopo)

          `
          \documentclass[parskip=false,english,11pt]{ltxmdf}

          \usepackage{tcolorbox}

          \newtcolorbox[auto counter%,number within=section
          ]{pabox}[2][]{%
          colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries, title=Axiom A\thetcbcounter: #2,#1}

          \begin{document}

          \begin{pabox}[colback=yellow]{Hello there}
          This is my own box with a mandatory
          numbered title and options.
          \end{pabox}

          \end{document}

          `

          Grazie mille!

        • #103078
          Up
          0
          Down
          ::


          Riporto la versione (credo) finale di come ho impostato il problema. Naturalmente è un banale copia e incolla di pezzi del manuale ma potrebbe tornare utile se qualcuno dovesse imbattersi nel mio stesso problema.

          Allego codice minimo funzionante

          `
          \documentclass[parskip=false,english,11pt]{ltxmdf}

          \usepackage{tcolorbox}
          \usepackage{hyperref}

          \usepackage{varwidth}
          \tcbuselibrary{skins}

          \newtcolorbox[auto counter]{mybox}[2][]{enhanced,
          attach boxed title to top left={xshift=0cm,yshift=-2mm},
          fonttitle=\bfseries,varwidth boxed title=\linewidth,
          colbacktitle=green!45!white,coltitle=green!10!black,colframe=green!50!black,
          interior style={top color=yellow!10!white,bottom color=green!10!white},
          boxed title style={enhanced,boxrule=0.75mm,colframe=white,
          borderline={0.1mm}{0mm}{green!50!black},
          borderline={0.1mm}{0.75mm}{green!50!black},
          interior style={top color=green!10!white,bottom color=green!10!white,
          middle color=green!50!white},
          drop fuzzy shadow},
          title={Axiom A\thetcbcounter: #2},#1}

          \begin{document}

          \begin{mybox}[label={STC}]{STC (Spacetime continuity)}
          Spacetime is a smooth manifold $M$ of dimension $m$. \\
          Events are points of spacetime.
          \end{mybox}

          As you can see in axiom \hyperref[STC]{STC} bla bla bla

          \end{document}

          `

          Commenti sono benvenuti naturalmente!

        • #103079
          franen
          Partecipante
            Up
            0
            Down
            ::


            Grazie, soprattutto per l’uso degli esempi minimi 🙂
            (hyperref di solito si caricaper ultimo, salvo alcune eccezioni)

          • #103080
            Up
            0
            Down
            ::

            franen” post=103068
            (hyperref di solito si caricaper ultimo, salvo alcune eccezioni)

            Certo! Solo che dopo una giornata spesa a sistemare una cavolata sono abbastanza cotto 😀

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

        Go to top