Seite 1 von 1

bunte boxen im in align-umgebung

Verfasst: So 8. Dez 2013, 10:27
von Dimitri
hallo,

sitze nun schon ziemlich lange an folgendem problem:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\begin{bmatrix}
123    & 456\\ %
135    & 246\\ %
12345 & 67890 %%
\end{bmatrix}
\end{align*}
\end{document}
Ich hätte gerne ne bunte Box um den Teil mit "%" und eine andere um den Teil mit "%%". Ich habe nicht wirklich ne Ahnung, wie ich das machen soll. Habe bereits in mathemode und im empheq reingeschaut, aber null plan... -.-
Kann Mir da jemand weiterhelfen?

LG,
Dimitri

Verfasst: So 8. Dez 2013, 12:55
von esdd
Hier ist ein Vorschlag mit tikz:
\documentclass{scrartcl} 
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix,backgrounds} 
\tikzset{bmatrix/.style={matrix of math nodes,ampersand replacement=\&,
      left delimiter={[},right delimiter={]}}
}
%
% bmatrix mit gefärbten Zeilen
% Syntax: \bcolmatrix[<matrixname>]{<anchor für baseline>}{<färbungen>}{<matrixinhalt>}
%        innerhalb von <matrixinhalt> muss \& statt & verwendet werden
%        <färbungen>: kommaseparierte Liste <oberste zeile>/<unterste zeile>/<farbe>
\newcommand\bcolmatrix[4][m]{%
    \begin{tikzpicture}[baseline=(#1-#2)]
      \matrix[bmatrix](#1){#4\\};
      \begin{scope}[on background layer]
        \foreach \o/\u/\farbe in {#3}{%
          \draw[color=\farbe,fill=\farbe!10]
          (#1.west|-#1-\u-1.south)rectangle(#1.east|-#1-\o-1.north);
        }
    \end{scope}%
    \end{tikzpicture}
}

\begin{document} 
\begin{align*}
  \begin{bmatrix} 
    123   &  456\\ % 
    135   &  246\\ % 
    12345 & 67890 %% 
  \end{bmatrix}
  &=\bcolmatrix{2-1.base}{1/2/red,3/3/blue}{
      123   \& 456\\ 
      135   \& 246\\[3pt]
      12345 \& 67890}
  \\
  1+1&=2
\end{align*}
\end{document} 
Gruß
Elke

Verfasst: So 8. Dez 2013, 13:31
von Dimitri
Danke, Elke! :-)

Werde mal ein bisschen dran rumspielen.

Bin grad mit BEAMER beschäftigt. Das ist halt der Nachteil zu PowerPoint. Für solche Kleinigkeiten bedarf es bei TEX nen vergleichsweise rießigen Aufwand.

Verfasst: So 8. Dez 2013, 20:50
von Dimitri
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix,backgrounds}
\tikzset{bmatrix/.style={matrix of math nodes,ampersand replacement=\&,
      left delimiter={[},right delimiter={]}}
}
%
% bmatrix mit gefärbten Zeilen
% Syntax: \bcolmatrix[<matrixname>]{<anchor für baseline>}{<färbungen>}{<matrixinhalt>}
%        innerhalb von <matrixinhalt> muss \& statt & verwendet werden
%        <färbungen>: kommaseparierte Liste <oberste zeile>/<unterste zeile>/<farbe>
\newcommand\bcolmatrix[4][m]{%
    \begin{tikzpicture}[baseline=(#1-#2)]
      \matrix[bmatrix](#1){#4\\};
      \begin{scope}[on background layer]
        \foreach \o/\u/\farbe in {#3}{%
          \draw[color=\farbe,fill=\farbe!10]
          (#1.west|-#1-\u-1.south)rectangle(#1.east|-#1-\o-1.north);
        }
    \end{scope}%
    \end{tikzpicture}
}

\begin{document}
\begin{align*}
    \bcolmatrix{2-1.base}{1/3/red,4/4/blue}{
      456\\
      246\\
      12345\\[3pt]
      67890}
  &=\bcolmatrix{2-1.base}{1/3/red,4/4/blue}{
      123   \& 456\\
      135   \& 246\\
      12345 \& 67890\\[3pt]
      12345 \& 67890}
  \\
  1+1&=2
\end{align*}
\end{document}
Weißt jemand wie ich es hinkriege, dass das =-Zeichen in der Mitte steht? Ich persönlich kann das nur zeilenweise verschieben...

Verfasst: So 8. Dez 2013, 21:16
von esdd
Ok, die Option für die Ausrichtung braucht es dann eigentlich gar nicht:
\documentclass{scrartcl} 
\usepackage{amsmath} 
\usepackage{tikz} 
\usetikzlibrary{matrix,backgrounds} 
\tikzset{bmatrix/.style={matrix of math nodes,ampersand replacement=\&, 
       left delimiter={[},right delimiter={]}} 
} 
% 
% bmatrix mit gefärbten Zeilen 
% Syntax: \bcolmatrix[<matrixname>]{<färbungen>}{<matrixinhalt>} 
%        innerhalb von <matrixinhalt> muss \& statt & verwendet werden 
%        <färbungen>: kommaseparierte Liste <oberste zeile>/<unterste zeile>/<farbe> 
\newcommand\bcolmatrix[3][m]{% 
     \begin{tikzpicture}[baseline=(#1.center)] 
       \matrix[bmatrix](#1){#3\\}; 
       \begin{scope}[on background layer] 
         \foreach \o/\u/\farbe in {#2}{% 
           \draw[color=\farbe,fill=\farbe!10] 
           (#1.west|-#1-\u-1.south)rectangle(#1.east|-#1-\o-1.north); 
         } 
     \end{scope}% 
     \end{tikzpicture} 
} 

\begin{document} 
\begin{align*} 
     \bcolmatrix{1/3/red,4/4/blue}{ 
       456\\ 
       246\\ 
       12345\\[3pt] 
       67890} 
   &=\bcolmatrix{1/3/red,4/4/blue}{ 
       123   \& 456\\ 
       135   \& 246\\ 
       12345 \& 67890\\[3pt] 
       12345 \& 67890} 
   \\ 
   1+1&=2 
\end{align*} 
\end{document}
Gruß
Elke

PS: Bitte schau mal, was der Status „Rückfrage” bedeutet.

Verfasst: So 8. Dez 2013, 21:33
von Dimitri
Ohhh, Entschuldigung...

Nochmals vielen Dank. Ich kann deinen code allerdings nicht komplett nachvollziehen. Du hast den aus Teilen des pgf-manuals zusammengebaut? Konnte den so nicht finden.

Verfasst: So 8. Dez 2013, 21:49
von esdd
Ja, das ist eigener Code, der aber natürlich auf dem pgfmanual basiert.