Einkreisen von Matrizen oder von mehrzeiligen Formeln

Formelsatz für Mathematik, Naturwissenschaften und Technik


MaWe

Beitrag von MaWe »

aaaaahhh nochmal :/
ich meinte natürlich
\documentclass{scrartcl} 
\usepackage{amsmath} 
\usepackage[nofill,customcolors]{hf-tikz} 
\hfsetbordercolor{blue}% Rahmenfarbe 
\begin{document} 
\begin{alignat*}{4} 
    AA &+ BB &&=CC\\ 
     A &+ B  &&=C &&\Rightarrow \tikzmarkin[left offset=-.05,below offset=-.1]{gla} AA &&= BB +CC\\ 
       &     &&   &&\Rightarrow  A &&=+ B  +C \tikzmarkend{gla} \\ 
       &     &&   &&               &&= C+B+A 
\end{alignat*} 
\end{document} 
[/quote]

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

\tikzmarkend markiert nun mal die rechte untere Ecke und kann nicht wissen, dass die obere Formel länger ist und mit in den Rahmen soll.

Damit das zweite C der oberen Formel mit in dem Rahmen steht, kannst du entweder einfach right offset nutzen (in dem Beispiel würde ein Wert von ca. 0.4 passen) oder du musst die Markierung weiter nach rechts setzen.

In dem konkreten Fall würde ich einfach ein \phantom{C} an die untere Formel anhängen:
\begin{alignat*}{4} 
     AA &+ BB &&=CC\\ 
      A &+ B  &&=C &&\Rightarrow \tikzmarkin[left offset=-.05,below offset=-.1]{gla} AA &&= BB +CC\\ 
        &     &&   &&\Rightarrow  A &&=+ B  +C\phantom{C}\tikzmarkend{gla} \\ 
        &     &&   &&               &&= C+B+A 
\end{alignat*}
Alternativ kann man auch ein zusätzliches & anhängen und das \tikzmarkend dahinter setzen:
\begin{alignat*}{5} 
     AA &+ BB &&=CC\\ 
      A &+ B  &&=C &&\Rightarrow \tikzmarkin[left offset=-.05,below offset=-.1,right offset=-.05]{gla} AA &&= BB +CC\\ 
        &     &&   &&\Rightarrow  A &&=+ B  +C &\tikzmarkend{gla} \\ 
        &     &&   &&               &&= C+B+A 
\end{alignat*}
Gruß
Elke

PS: Angemeldete Nutzer können im Gegensatz zu Gästen die eigenen Posts bearbeiten. Die Vorschaufunktion steht aber beiden zur Verfügung.

MaWe

Beitrag von MaWe »

Du bist echt klasse :)

Ist jetzt ne banale Frage, aber wie kann ich die Farbe des Rahmens ändern?
Bei Bordercolor ist schon klar, aber ich meine nicht generell, sondern nehmen wir an einer soll rot sein, der andere aber wieder blau, weil ich finde gar keine Information unten zur Farbe?

Und dann noch mein anderes Problem mit der Matrix oder einem Binom
\documentclass{scrartcl} 
\usepackage{amsmath} 
\begin{document} 

\underbrace{\dbinom{0}{0}}_{\text{Hinweis}} 


\end{document} 
wie bekomme ich jetzt die 0 0 eingekreist? Also nur innen ohne die Klammern? Und wie kann man den Hinweis schöner Darstellen, also anstatt der Unterklammer einen einfachen Strich zum Hinweis?[/quote]

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wie man die Farbe für einzelne Rahmen ändern kann, siehst du dem oben von dir erwähnten Beispiel texwelt.de entnehmen. Das tippe ich jetzt nicht nochmal ein. Dort stand das übrigens auch dabei mit dem 2x durchlaufen lassen ;-)

Das Umrahmen der beiden Nullen ohne Klammer geht doch vom Prinzip genauso? Man muss lediglich etwas Platz für den Rahmen schaffen, damit er nicht auf den Klammern landet. Ein Beispiel dafür findest du in der Frage Wie kann ich Teile einer Formel beschriften?.

Gruß
Elke

MaWe

Beitrag von MaWe »

ich war bisher nicht auf Texwelt, werde mich dann doch da anmelden, bringt ja alles nichts :p

danke Dir aber schonmal für Deine Hilfe.

MaWe
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: So 19. Jan 2014, 18:21

Beitrag von MaWe »

Hi Elke,
ich muss das jetzt nochmal aufgreifen. Du hast da schon eine super Arbeit geleistet, aber ich stelle mich noch zu ungeschickt an.

Wenn ich lediglich ein Binom habe, dann kreist er mir das zwar noch ein, aber der Hinweistext verschwindet...irgenwas mache ich noch falsch.
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}% für Ellipse
\tikzset{
  pfeil/.style={stealth-},
  beschr/.style={remember picture,overlay,font=\small}}
\newcommand\mrahmen[3][]{%
  \tikz[anchor=base,baseline,remember picture]\node[inner sep=2pt,draw=#2,#1]{$\displaystyle#3\mathstrut$};}
\colorlet{mfarbe}{red}
\newcommand\sbinom[2]{\genfrac{}{}{0pt}{}{#1}{#2}}
\usepackage{blindtext}% für Fülltext
\begin{document}
\blindtext
\par
\noindent\begin{minipage}{\linewidth}
  \begin{align*}
    A & = \left(\!\mrahmen[ellipse,name={ell-2},inner xsep=0pt]{mfarbe}{\sbinom{m}{n}}\!\right)
          +\left(\!\mrahmen[ellipse,name={ell-1},inner xsep=0pt]{mfarbe}{\sbinom{n}{m}}\!\right)
  \end{align*}
  \tikz[beschr]\path[draw=mfarbe](ell-2.south)--+(0,-.3)node[below]{Hinweis};
  \tikz[beschr]\draw[pfeil](ell-1.south)|-+(1,-.5)node[right]{Hinweistext};
  \vspace*{.8cm}
\end{minipage}
\blindtext
\end{document}
Das Beispiel läuft einwandfrei, wenn ich aber den zweiten Teil weglasse, also nur das linke mit dem "Hinweis" will, das bekomme ich nicht hin :(

und wie das ganze dann in einer Matrix geht (lediglich Texteile einzukreisen) habe ich auch nicht hinbekommen...

MaWe
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: So 19. Jan 2014, 18:21

Beitrag von MaWe »

Hier nochmal ein neues Minibeispiel, mit dem man dann gleich zwei Fliegen mit einer Klappe schlagen kann:
\documentclass{article} 
\usepackage{amsmath} 
\usepackage{tikz} 
\usetikzlibrary{shapes.geometric}% für Ellipse 
\tikzset{ 
  pfeil/.style={stealth-}, 
  beschr/.style={remember picture,overlay,font=\small}} 
\newcommand\mrahmen[3][]{% 
  \tikz[anchor=base,baseline,remember picture]\node[inner sep=2pt,draw=#2,#1]{$\displaystyle#3\mathstrut$};} 
\colorlet{mfarbe}{red} 
\newcommand\sbinom[2]{\genfrac{}{}{0pt}{}{#1}{#2}} 
\usepackage{blindtext}% für Fülltext 
\begin{document} 
\blindtext 
\par 
$\begin{bmatrix}
  n  & a\\
  m & b
 \end{bmatrix}$ =
\noindent\begin{minipage}{\linewidth} 
    \left(\mrahmen[ellipse,name={ell-1},inner xsep=0pt]{mfarbe}{\sbinom{m}{n}}\right) 
  \tikz[beschr]\path[draw=mfarbe](ell-1.south)--+(0,-.3)node[below]{Hinweis};  
  \vspace*{.8cm} 
\end{minipage} 
\blindtext 
\end{document}
Hier soll das n und m in der Matrize genauso eingekreist werden wie beim Binom. Wenn man das so auflöst werden aber unten auch keine Hinweise angezeigt.
Wo genau liegt der Fehler?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Der Hinweistext wird per overlay hinzugefügt und reserviert sich deshalb keinen eigenen Platz. Die Aufgabe übernimmt das \vspace*{...} und die minipage außen herum sorgt dafür, dass alles zusammenbleibt. Die minipage muss deshalb um die gesamte Gleichung und der Teil mit dem Binom muss auch im Mathemodus gesetzt werden.

Der folgende Code läuft bei mir fehlerfrei durch und nach dem 2.Durchlauf ist die Beschriftung an der erwarteten Stelle:
\documentclass{article} 
\usepackage{amsmath} 
\usepackage{tikz} 
\usetikzlibrary{shapes.geometric}% für Ellipse  
\tikzset{ 
   pfeil/.style={stealth-}, 
   beschr/.style={remember picture,overlay,font=\small}} 
\newcommand\mrahmen[3][]{%  
   \tikz[anchor=base,baseline,remember picture]\node[inner sep=2pt,draw=#2,#1]{$\displaystyle#3\mathstrut$};} 
\colorlet{mfarbe}{red} 
\newcommand\sbinom[2]{\genfrac{}{}{0pt}{}{#1}{#2}} 
\usepackage{blindtext}% für Fülltext  
\begin{document} 
\blindtext 
\par
\noindent\begin{minipage}{\linewidth} 
  $\begin{bmatrix}
    n  & a\\ 
    m & b 
  \end{bmatrix} = 
  \left(\mrahmen[ellipse,name={ell-1},inner xsep=0pt]{mfarbe}{\sbinom{m}{n}}\right)$ 
  \tikz[beschr]\path[draw=mfarbe](ell-1.south)--+(0,-.3)node[below]{Hinweis};   
  \vspace*{.8cm} 
\end{minipage} 
\blindtext 
\end{document}
Das Einkreisen von Matrixteilen ist wieder ein anderes Problem. Der einfachste Weg wäre dies mit hf-tikz zu lösen.

Gruß
Elke

MaWe
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: So 19. Jan 2014, 18:21

Beitrag von MaWe »

Hi Elke,
es hat in der Tat geklappt, ich hatte lediglich das "remember Picture" vergessen, deswegen hat er mir nie den Hinweis angezeigt.

Super das hat schonmal geklappt, aber wie bekomme ich das nun noch in Matrizen hin? Wäre schon gut wenn es so gehen würde, damit es einheitlich aussieht.

Mit hf-tikz wird das ja wieder so fett....

vielleicht vorher auch nochmal was einfacheres.....wie bekomme ich das bei ganz normalen Termen hin....

hier mal das Minibeispiel:

\documentclass{article} 
\usepackage{amsmath} 
\usepackage{tikz} 
\usetikzlibrary{shapes.geometric}% für Ellipse   
\tikzset{ 
   pfeil/.style={stealth-}, 
   beschr/.style={remember picture,overlay,font=\small}} 
\newcommand\mrahmen[3][]{%   
   \tikz[anchor=base,baseline,remember picture]\node[inner sep=2pt,draw=#2,#1]{$\displaystyle#3\mathstrut$};} 
\colorlet{mfarbe}{red} 
\newcommand\sbinom[2]{\genfrac{}{}{0pt}{}{#1}{#2}} 
\usepackage{blindtext}% für Fülltext   
\begin{document} 
\blindtext 
\par 
\noindent\begin{minipage}{\linewidth} 
 
e^{-\delta t} \bigl\{\underbrace{\mrahmen[ellipse,inner sep=1pt]{mfarbeg}{C_1+C_2}}_{\textcolor{green}{A}}\cos\omega_dt+ i(\underbrace{\mrahmen[ellipse,inner sep=1pt]{mfarbeg}{C_1-C_2}}_{\textcolor{green}{B}})\sin\omega_dt\bigr\}
\end{align*}

  \vspace*{.8cm} 
\end{minipage} 
\blindtext 
\end{document}
und anstatt der Klammern auch hier wieder nur ein Strich. Das der Code so nicht korrekt ist weiß ich das ist nen Mischmasch, ging ja nur ums Prinzip.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Dein Code ist nicht lauffähig, er liefert eine ganze Reihe von Fehlermeldungen. Ursache ist vermutlich, dass du die Matheumgebung zwar schließt, aber vorher nicht öffnest und auch die verwendete Farbe mfarbeg ist nicht definiert.

Auf ganz normale Terme müsste sich die Lösung aber einfach übertragen lassen. Verwende im optionalen Argument von mrahmen die Option name={...} mit einer eindeutigen Bezeichnung für die entsprechende Ellipse. Dann kannst du die Beschriftung wie in dem Binombeispiel vornehmen, musst halt nur ell-1 durch die gewählte Bezeichnung ersetzen.

Wenn du dabei Hilfe brauchst, dann gib ein wirklich lauffähiges Beispiel an.

Gruß
Elke

Antworten