Ich möchte, möglichst mit Hilfe der Matrixkoordinaten ("m-1-1" etc.) ein grid über die Matrix legen, so das jede Zelle einem Gitterkästchen entspricht (beides z.B. 5 x 5 [mm]).

Also habe ich \draw[step=5mm] (m-1-1.north west) grid (m-2-3.south east); versucht.

Was muss ich da anders einstellen?

alt text

Öffne in Overleaf
\documentclass[border=5mm, varwidth]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}

\tikzset{
matrixstyle/.style={
matrix of nodes,
nodes in empty cells,
column sep      = 5mm,
row sep         = 5mm,
nodes={inner sep=0mm,outer sep=0pt}
}}

\begin{tikzpicture}[]

\matrix (m)[matrixstyle]
{
a &b & c \\
  &  &   \\
};

\draw[step=5mm] (m-1-1.north west) grid (m-2-3.south east);

%\fill[] (m-1-1.north west) circle(2pt);
\end{tikzpicture}

\end{document}

gefragt 01 Apr '18, 16:34

cis's gravatar image

cis
9.4k23234435
Akzeptiert-Rate: 29%


Deine Nodes sind unterschiedlich breit und hoch und können auch unterschiedlich tief sein. Die Abstände column sep und row sep sind im MWE die Abstände zwischen den Zeilen und Spalten aus Nodes.

Hier ist mal eine Alternative ohne grid:

Öffne in Overleaf
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{
  matrixstyle/.style={
    matrix of nodes,
    nodes in empty cells,
    column sep      = -\pgflinewidth,
    row sep         = -\pgflinewidth,
    nodes={%
      inner sep=0mm,outer sep=0pt,
      minimum size=5mm,
      text height=\ht\strutbox,text depth=\dp\strutbox,
      draw
    }
}}
\begin{document}
\begin{tikzpicture}
  \matrix (m)[matrixstyle]
  {
    a & b & c \\
      &   &   \\
  };
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 01 Apr '18, 22:04

esdd's gravatar image

esdd
15.6k134055
Akzeptiert-Rate: 62%

Ah, sehr gut. Ich hatte vergessen zu sagen, dass die nodes eh leer sind (die Buchstaben sollen nur zeigen, dass es nicht klappt). So ist es natürlich noch besser, da allgemeiner.

Mir geht es um ein Gitter, dessen Gitterpunkte automatisch Koordinaten erhalten. Daher wollte ich das mit einer matrix versuchen.

(01 Apr '18, 23:31) cis

Wenn die Nodes leer sind, dann kannst Du die Vorgabe für text height und text depth weglassen.

(01 Apr '18, 23:46) esdd
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×681
×56

gestellte Frage: 01 Apr '18, 16:34

Frage wurde gesehen: 2,963 Mal

zuletzt geändert: 01 Apr '18, 23:46