Wie kann ich bei einer Hinweis: Die Matrix ist willkürlich gewählt, tatsächlich kann sie beliebige Größe haben. Öffne in Overleaf
\documentclass[varwidth, margin=5mm]{standalone} \usepackage{pgfplotstable, amsmath} \pgfplotstableset{header=false, every head row/.style={output empty row},% every last column/.style={string type, column type=l},% Annotationen fixed, dec sep align% alle anderen Spalten } \begin{document} IST: $M = \pgfplotstabletypeset[]{ -5 -1 abc 66 1 d 7 2 e }$ \\ SOLL: $M = \left\lgroup\begin{array}{r r } -5 & 1 \\ 66 & 1 \\ 7 & 2 \\ \end{array}\right\rgroup \begin{array}{l} abc \\ d \\ e \\ \end{array} $ \end{document} gefragt 05 Okt '18, 16:37 cis |
Hab etwas hinbekommen. Eine mögliche Lösung, aber (noch) nicht 100% optimal. 1) Die Klammern werden ganz normal um die pgfplotstable gesetzt, wobei vor der schließenden Klammer 2) Mit Öffne in Overleaf
% Annotationen: every last column/.style={string type, postproc cell content/.style={ @cell content={\Annotation{##1}} }}, kommen die Zellen der letzten Spalte in TikZ-Noden Öffne in Overleaf
\newcommand\Annotation[1]{% \tikz[red, baseline=-0.3em, overlay, font=\footnotesize\ttfamily %inner sep=0pt, outer sep=0pt % kein Effekt ]{\node[anchor=west, xshift=-3mm]{#1}; }% } die hinter die schließende Klammer geschoben werden. Das ist natürlich eine ziemliche Anpassung nach Augenmaß, insbesondere die MWE: Öffne in Overleaf
\documentclass[margin=5mm]{standalone} \usepackage{pgfplotstable, amsmath} \pgfplotsset{compat=1.13} \pgfplotstableset{header=false, every head row/.style={output empty row},% fixed, dec sep align,% alle anderen Spalten 1000 sep={\,}, % kleiner Abstand % Annotationen: every last column/.style={string type, postproc cell content/.style={ @cell content={\Annotation{##1}} }}, } \newcommand\Annotation[1]{% \tikz[red, baseline=-0.3em, overlay, font=\footnotesize\ttfamily %inner sep=0pt, outer sep=0pt % kein Effekt ]{\node[anchor=west, xshift=-3mm]{#1}; }% } \begin{document} $\left\lgroup\pgfplotstabletypeset[ ]{ -1 2 300 4 abc 5000 -6 7 8 d 9 10 11 12 {} 13 14 15 16000 f }\hspace{-1.25em}\right\rgroup$ \end{document} beantwortet 06 Okt '18, 10:25 cis |
Eine andere mögliche Lösung, aber auch (noch) nicht 100% optimal. Für das eigentliche Problem des Klammernzeichnens habe ich,
mit fit eine Klammer ergänzt. Aber 100% glücklich bin ich immer noch nicht, da einige Anpassungen nach Augenmaß dabei sind und zwingend Dafür werden in der pgfplotstable Öffne in Overleaf
\pgfplotstabletypeset[string type, header=false, every head row/.style={output empty row},% ]{ {\tikzI v} 3 1 -1 2 $-1$ {\tikzII w} 4 } Koordinaten ergänzt (" Öffne in Overleaf
\def\tikzI{% \tikz[] {% \coordinate[] (Leer) at (0,0);% als Referenzkoordinate scheints benötigt \coordinate[] (v) at (0,1.25em);% %\node[anchor=south, yshift=1em] at (0,0) (v){\vphantom{9}};% }} Jedenfalls sieht das dann so aus (den roten Strich wegdenken): Öffne in Overleaf
\documentclass[border=5mm]{standalone} \usepackage{pgfplotstable} \usepackage{tikz} \usetikzlibrary{matrix,fit} % matrix scheints benötigt \tikzset{remember picture, overlay, %baseline=0, inner sep=0pt, outer sep=0pt, % bringt minimal etwas } \begin{document} \def\tikzI{% \tikz[] {% \coordinate[] (Leer) at (0,0);% als Referenzkoordinate scheints benötigt \coordinate[] (v) at (0,1.25em);% %\node[anchor=south, yshift=1em] at (0,0) (v){\vphantom{9}};% }} \def\tikzII{% \tikz[] {\coordinate[] (Leer) at (0,0);% als Referenzkoordinate scheints benötigt \coordinate[] (w) at (0,-0.75em);% }} \pgfplotstabletypeset[string type, header=false, every head row/.style={output empty row},% ]{ {\tikzI v} 3 1 -1 2 $-1$ {\tikzII w} 4 } \tikz[overlay]{ % will unbedingt hier nochmal overlay % Klammer zeichnen mit fit \node[fit=(v.north west) (w.south west), left delimiter={\lgroup}]{}; % Test: \draw[] (v) circle(1pt); \draw[] (w) circle(1pt); \draw[red] (v) -- (w); } \end{document} beantwortet 07 Okt '18, 11:07 cis |
Puhh, man denkt: auf den 1. Blick trivial. Grobe Idee: Vor erster und vorletzter Spalte
\tikz[]
Koordinaten platzieren und die dann mittels decoration mit Klammern verbinden. Hab es nicht hinbekommen. Macht auch diverse Zeilen Zusatzcode.Ich hoffe sehr, dass es einfacher geht.
Also ich bin mir eh nicht so sicher, ob es die beste Idee ist, TikZ ins Spiel zu bringen. Die Positionen rund um die Zellen gibt es bestimmt als pgfkeys, die ich nicht kenne...
Also falls hier jmd. eine Idee hat, wäre das sehr gut. Evtl. ohne TikZ, oldschool LaTeX.
Die Lösungen, die ich gepostet habe, sind nur mögliche Ergebnisse, sie gefallen mir alle nicht.
Ich habe eine Idee:
\lgroup
bzw.\rgroup
erzeugt an sich erstmal so einen Klammernfutzel, genauer: eine abgerundete Ecke einer eckigen Klammer (erst\left\lgroup
erstellt eine ganze Klammer).Damit sollte sich evtl. eine komplette Klammer zeichnen lassen. Muss ich mal weiter verfolgen.