Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

01 Sep '17, 11:12

gast3's gravatar image

gast3
(ausgesetzt)

Grundsätzlich ist [esdd's Antwort](http://texwelt.de/wissen/fragen/9878#9881) der richtige Weg. Bis `pgf` 3.0.0 hat das auch noch so funktioniert. Heute (AFAIK seit `pgf` 3.0.1) funktioniert das so nicht mehr. Wie [der `pgf`-Anleitung bei der Erklärung zu `tikzpicture`-Umgebung zu entnehmen ist](http://texdoc.net/texmf-dist/doc/generic/pgf/pgfmanual.pdf#subsubsection.12.2.1), schaltet die Umgebung lokal auf den `\nullfont` um. Damit wird normale Textausgabe verhindert. Gleichzeitig funktioniert dann aber natürlich auch die Anweisung `\widthof` des [Pakets `calc`](http://ctan.org/pkg/calc) nicht mehr. mehr (das `pgf` daher inzwischen auch nicht mehr selbst lädt, wodurch `\widthof` in esdd's Antwort inzwischen selbst bereits unbekannt ist). Glücklicherweise bietet aber `pgf` selbst mit der [Funktion `width`](http://texdoc.net/texmf-dist/doc/generic/pgf/pgfmanual.pdf#subsubsection.89.3.8) die Möglichkeit, die Breite eines Textes zu ermitteln. Der Ansatz von esdd's Vorschlag wird damit zu: \documentclass[margin=5pt]{standalone} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{tikz} \usetikzlibrary{matrix,babel} \colorlet{mbg}{lightgray!50} \colorlet{mbb}{blue!15} \colorlet{mbs}{green!10} \begin{document} \begin{tikzpicture}[ text depth=0.7ex, text height=2.3ex, ] \matrix (m) [ matrix of nodes, row sep=0pt, column sep=0pt, minimum width=3ex, text depth=.5ex, text height=2ex, inner sep=.25ex, nodes={fill=mbg}, font=\ttfamily, align=center, row 1/.style={nodes={fill=white},font=\bfseries},%erste Zeile mbbspalte/.style={%Einstellungen für die ersten 4 Spalten text width=#1, font=\rmfamily, every even row/.style={nodes={fill=mbb}} }, column 1/.style={mbbspalte=1.25*width("Rang")}, column 2/.style={mbbspalte=1.25*width("Gewicht"),column sep=1ex}, column 3/.style={mbbspalte=1.25*width("Anzahl"),column sep=1ex}, column 4/.style={mbbspalte=1.25*width("Nr."),font=\ttfamily}, column 5/.style={text width=width("Das ist ein Testkriterium"),font=\rmfamily}, row 11/.style={nodes={fill=mbs}},%letzte Zeile mit anderer Farbe gefüllt ] {% überall dort wo ein Node sein soll, muss wenigstens {} stehen Rang&Gewicht&Anzahl&Nr.& Bewertungskriterium \\ {}&{}&{}&a&Das ist ein Testkriterium\\ & & & & &{}\\ {}&{}&{}&b&Das ist ein Testkriterium& &{}\\ & & & & &{}& &{}\\ {}&{}&{}&c&Das ist ein Testkriterium& &{}& &{} \\ & & & & &{}& &{}\\ {}&{}&{}&d&Das ist ein Testkriterium& &{} \\ & & & & &{}\\ {}&{}&{}&e&Das ist ein Testkriterium\\[1ex] &{}&{}\\ }; %Umrandungen \foreach \c in {1,...,5}% für erste Zeile \draw(m-1-\c.north west)rectangle ([yshift=\pgflinewidth,xshift=-\pgflinewidth]m-1-\c.south east); \foreach \c in {1,...,4}% für die ersten vier Spalten \draw(m-1-\c.north west)rectangle ([yshift=\pgflinewidth,xshift=-\pgflinewidth]m-10-\c.south east); \end{tikzpicture} \end{document} Beachte, dass zusätzlich Library `babel` benötigt wird, damit die `"…"`-Syntax verwendet werden kann und etwas aus `"Anzahl` nicht `Änzahl` wird. ![alt text][1] [1]: http://texwelt.de/wissen/upfiles/test_20170901_104922.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

01 Sep '17, 11:09

gast3's gravatar image

gast3
(ausgesetzt)

Grundsätzlich ist [esdd's Antwort](http://texwelt.de/wissen/fragen/9878#9881) der richtige Weg und möglicherweise Weg. Bis `pgf` 3.0.0 hat das 2014 auch tatsächlich noch so funktioniert. Heute (AFAIK seit `pgf` 3.0.1) funktioniert das so nicht mehr. Wie [der `pgf`-Anleitung bei der Erklärung zu `tikzpicture`-Umgebung zu entnehmen ist](http://texdoc.net/texmf-dist/doc/generic/pgf/pgfmanual.pdf#subsubsection.12.2.1) ist](http://texdoc.net/texmf-dist/doc/generic/pgf/pgfmanual.pdf#subsubsection.12.2.1), schaltet die Umgebung lokal auf den `\nullfont` um. Damit wird normale Textausgabe verhindert. Gleichzeitig funktioniert dann aber natürlich auch die Anweisung `\widthof` des [Pakets `calc`](http://ctan.org/pkg/calc) nicht mehr. Glücklicherweise bietet aber `pgf` selbst mit der [Funktion `width`](http://texdoc.net/texmf-dist/doc/generic/pgf/pgfmanual.pdf#subsubsection.89.3.8) die Möglichkeit, die Breite eines Textes zu ermitteln. Der Ansatz von esdd's Vorschlag wird damit zu: \documentclass[margin=5pt]{standalone} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{tikz} \usetikzlibrary{matrix,babel} \colorlet{mbg}{lightgray!50} \colorlet{mbb}{blue!15} \colorlet{mbs}{green!10} \begin{document} \begin{tikzpicture}[ text depth=0.7ex, text height=2.3ex, ] \matrix (m) [ matrix of nodes, row sep=0pt, column sep=0pt, minimum width=3ex, text depth=.5ex, text height=2ex, inner sep=.25ex, nodes={fill=mbg}, font=\ttfamily, align=center, row 1/.style={nodes={fill=white},font=\bfseries},%erste Zeile mbbspalte/.style={%Einstellungen für die ersten 4 Spalten text width=#1, font=\rmfamily, every even row/.style={nodes={fill=mbb}} }, column 1/.style={mbbspalte=1.25*width("Rang")}, column 2/.style={mbbspalte=1.25*width("Gewicht"),column sep=1ex}, column 3/.style={mbbspalte=1.25*width("Anzahl"),column sep=1ex}, column 4/.style={mbbspalte=1.25*width("Nr."),font=\ttfamily}, column 5/.style={text width=width("Das ist ein Testkriterium"),font=\rmfamily}, row 11/.style={nodes={fill=mbs}},%letzte Zeile mit anderer Farbe gefüllt ] {% überall dort wo ein Node sein soll, muss wenigstens {} stehen Rang&Gewicht&Anzahl&Nr.& Bewertungskriterium \\ {}&{}&{}&a&Das ist ein Testkriterium\\ & & & & &{}\\ {}&{}&{}&b&Das ist ein Testkriterium& &{}\\ & & & & &{}& &{}\\ {}&{}&{}&c&Das ist ein Testkriterium& &{}& &{} \\ & & & & &{}& &{}\\ {}&{}&{}&d&Das ist ein Testkriterium& &{} \\ & & & & &{}\\ {}&{}&{}&e&Das ist ein Testkriterium\\[1ex] &{}&{}\\ }; %Umrandungen \foreach \c in {1,...,5}% für erste Zeile \draw(m-1-\c.north west)rectangle ([yshift=\pgflinewidth,xshift=-\pgflinewidth]m-1-\c.south east); \foreach \c in {1,...,4}% für die ersten vier Spalten \draw(m-1-\c.north west)rectangle ([yshift=\pgflinewidth,xshift=-\pgflinewidth]m-10-\c.south east); \end{tikzpicture} \end{document} Beachte, dass zusätzlich Library `babel` benötigt wird, damit die `"…"`-Syntax verwendet werden kann und etwas aus `"Anzahl` nicht `Änzahl` wird. ![alt text][1] [1]: http://texwelt.de/wissen/upfiles/test_20170901_104922.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

01 Sep '17, 11:02

gast3's gravatar image

gast3
(ausgesetzt)

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×