spezzare un box creato con tikz su più pagine

  • Creatore
    Topic
  • #72450
    Up
    0
    Down
    ::


    Salve, volevo sapere se era possibile in qualche modo spezzare questo box creato con tikz su più pagine.

    `\tikzstyle{mybox} = [draw=blue, text width=0.85\textwidth, fill=gray!20, very thick,
    rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
    \tikzstyle{fancytitle} =[fill=red, text=white]

    \begin{tikzpicture}
    \node [mybox] (box){%
    Sia $A \in M_{m \times n}{\R}$, esplicitamente
    \[
    A = \begin{pmatrix}
    a_{11} & a_{12} & \cdots & a_{1n} \\
    a_{21} & a_{22} & \cdots & a_{2n} \\
    \vdots & \vdots & & \vdots \\
    a_{m1} & a_{m2} & \cdots & a_{mn}
    \end{pmatrix} = \setlength{\arraycolsep}{1pt} %spazio tra le colonne di una matrice
    \begin{pmatrix}
    \trattino & a_1 & \trattino \\
    \trattino & a_2 & \trattino \\
    \trattino & a_m & \trattino
    \end{pmatrix} = \setlength{\arraycolsep}{3pt}
    \begin{pmatrix}
    | & | & & | \\
    a^1 & a^2 & \cdots & a^n \\
    | & | & & | \\
    \end{pmatrix}
    \]
    dove $\left( \trattino \ a_i \ \trattino \right) = \vtre{a_{i1}}{\ldots}{a_{in}}$ indica la $i$-ma riga e $\displaystyle \begin{pmatrix}
    | \\
    a^j \\
    |
    \end{pmatrix} = \begin{pmatrix}
    a_{1j} \\
    a_{2j} \\
    \vdots
    a_{mj} \\
    \end{pmatrix}$
    indica la $j$-ma colonna.
    };
    \node[fancytitle, rounded corners, right=10pt] at (box.north west) {$\bullet \ \textbf{Notazione}$};
    %\node[fancytitle, rounded corners] at (box.east) {$\clubsuit$};
    \end{tikzpicture}`

    Magari inserendolo in una tabella o minipage. Finora non sono riuscito a farlo.
    Grazie

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #72451
      Up
      0
      Down
      ::

      Matemax” post=71596Salve, volevo sapere se era possibile in qualche modo spezzare questo box creato con tikz su più pagine.

      \tikzstyle{mybox} = [draw=blue, text width=0.85\textwidth, fill=gray!20, very thick,
      rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
      \tikzstyle{fancytitle} =[fill=red, text=white]

      \begin{tikzpicture}
      \node [mybox] (box){%
      Sia $A \in M_{m \times n}{\R}$, esplicitamente
      \[
      A = \begin{pmatrix}
      a_{11} & a_{12} & \cdots & a_{1n} \\
      a_{21} & a_{22} & \cdots & a_{2n} \\
      \vdots & \vdots & & \vdots \\
      a_{m1} & a_{m2} & \cdots & a_{mn}
      \end{pmatrix} = \setlength{\arraycolsep}{1pt} %spazio tra le colonne di una matrice
      \begin{pmatrix}
      \trattino & a_1 & \trattino \\
      \trattino & a_2 & \trattino \\
      \trattino & a_m & \trattino
      \end{pmatrix} = \setlength{\arraycolsep}{3pt}
      \begin{pmatrix}
      | & | & & | \\
      a^1 & a^2 & \cdots & a^n \\
      | & | & & | \\
      \end{pmatrix}
      \]
      dove $\left( \trattino \ a_i \ \trattino \right) = \vtre{a_{i1}}{\ldots}{a_{in}}$ indica la $i$-ma riga e $\displaystyle \begin{pmatrix}
      | \\
      a^j \\
      |
      \end{pmatrix} = \begin{pmatrix}
      a_{1j} \\
      a_{2j} \\
      \vdots
      a_{mj} \\
      \end{pmatrix}$
      indica la $j$-ma colonna.
      };
      \node[fancytitle, rounded corners, right=10pt] at (box.north west) {$\bullet \ \textbf{Notazione}$};
      %\node[fancytitle, rounded corners] at (box.east) {$\clubsuit$};
      \end{tikzpicture}

      Magari inserendolo in una tabella o minipage. Finora non sono riuscito a farlo.
      Grazie

      Invece di complicarsi la vita con TikZ, io userei il pacchetto tcolorbox (distribuito sia su TeXLive che MikTeX). Ad esempio:

      `
      \documentclass{article}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage{amsmath,amssymb}
      \usepackage{tcolorbox}
      \newcommand{\trattino}{-}

      \begin{document}

      \begin{tcolorbox}[colback=red!5,colframe=red!75!black
      ,title=Notazione]
      Sia $A \in M_{m \times n}\in R$, esplicitamente
      \[
      A = \begin{pmatrix}
      a_{11} & a_{12} & \cdots & a_{1n} \\
      a_{21} & a_{22} & \cdots & a_{2n} \\
      \vdots & \vdots & & \vdots \\
      a_{m1} & a_{m2} & \cdots & a_{mn}
      \end{pmatrix} = \setlength{\arraycolsep}{1pt} %spazio tra le colonne di una matrice
      \begin{pmatrix}
      \trattino & a_1 & \trattino \\
      \trattino & a_2 & \trattino \\
      \trattino & a_m & \trattino
      \end{pmatrix} = \setlength{\arraycolsep}{3pt}
      \begin{pmatrix}
      | & | & & | \\
      a^1 & a^2 & \cdots & a^n \\
      | & | & & | \\
      \end{pmatrix}
      \]
      dove $\left( \trattino \ a_i \ \trattino \right) = a_{i1}{\ldots}{a_{in}}$ indica la $i$-ma riga e $\displaystyle \begin{pmatrix}
      | \\
      a^j \\
      |
      \end{pmatrix} = \begin{pmatrix}
      a_{1j} \\
      a_{2j} \\
      \vdots
      a_{mj} \\
      \end{pmatrix}$
      indica la $j$-ma colonna.
      \end{tcolorbox}
      \end{document}
      `
      Ovviamente non sapevo cosa fosse il tuo comando \trattino.

      Ciao
      Claudio

    • #72452
      Up
      0
      Down
      ::


      Ultimamente sto cercando di imparare ad usare il pacchetto tikz ed è per questo che gli ultimi miei post riguardavano tale argomento (sono entrato un po’ in fissa 🙂 ).
      La tua soluzione è molto più elegante per quello che dovevo creare.
      Ti ringrazio tantissimo.

      PS. Il comando trattino era questo, scusa se non avevo postato tutto il codice.
      \newcommand{\trattino}{\text{—}}

      A presto, Max

    • #72453
      Up
      0
      Down
      ::


      Non mi ero accorto però che anche in questo caso il box non si spezza su più pagine.

    • #72454
      Up
      0
      Down
      ::

      Matemax” post=71596Salve, volevo sapere se era possibile in qualche modo spezzare questo box creato con tikz su più pagine.

      `\tikzstyle{mybox} = [draw=blue, text width=0.85\textwidth, fill=gray!20, very thick,
      rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
      \tikzstyle{fancytitle} =[fill=red, text=white]

      \begin{tikzpicture}

      \end{tikzpicture}`

      Magari inserendolo in una tabella o minipage. Finora non sono riuscito a farlo.
      Grazie

      No. E guardando il risultato direi che non ha senso. Puoi provare a guardare mdframed.

      Per favore: il codice dovrebbe essere compilabile.

      Ciao
      Enrico

    • #72455
      Up
      0
      Down
      ::


      Sicuramente con mdframed si può spezzare un box a fine pagina però non riesco ad integrare il mio codice tikz o tcolorbox con il pacchetto mdframed.

    • #72456
      Up
      0
      Down
      ::

      Matemax” post=72047Sicuramente con mdframed si può spezzare un box a fine pagina però non riesco ad integrare il mio codice tikz o tcolorbox con il pacchetto mdframed.

      Come ha detto Enrico, se non riporti un esempio che riproduca esattamente il problema (se ben ricordo, avevo riprodotto il tuo esempio con tcolorbox, ma siccome era un esempio semplice non andava su due pagine -> perché quindi spezzare in due 😕 ) è difficile darti un consiglio. La prima cosa che mi viene in mente è: non puoi adattare il testo in modo tale da non dover spezzare la box?

      Ciao
      Claudio

    • #72457
      Up
      0
      Down
      ::


      [attachment=244]tcolorbox.tex[/attachment]

      Questo è un esempio di ciò che viene fuori quando il box non viene spezzato in due parti.
      Quando si scrive un libro o una tesi è facile che si possa aggiungere qualche riga prima del tcolorbox e latex manda tutto nella pagina successiva.

      Lo stesso vale per il pacchetto boiboites di cui non messo un esempio ma che sto usando per la definizione di teoremi, osservazioni, lemmi ecc.
      che devono seguire una numerazione.

      Attachments:
      You must be logged in to view attached files.
Visualizzazione 6 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top