Wie kann ich dieses Rechteck mit Linien, Punkten und Beschriftungen in LaTeX neu erstellen?

Wie kann ich dieses Rechteck mit Linien, Punkten und Beschriftungen in LaTeX neu erstellen?

Bildbeschreibung hier eingeben

Ich tippe das gerade für den Unterricht ab und wäre für einige Hinweise dankbar, beispielsweise, welche Pakete ich benötige und wie ich anfange.

Antwort1

Es gibt viele Pakete, die Ihnen dies ermöglichen: wie metapost, pstricks, asymptote, TikZund sicherlich noch andere, die ich vergessen habe.

Hier ist eine Version mit TikZ. Wenn Sie Fragen zum Code haben, höre ich zu.

Bildschirmfoto

\documentclass[tikz,border=5mm]{standalone}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\fill[gray!20] (0,0)rectangle(3,3);
\draw (0,0)grid(3,3);
\node foreach \j in {1,2} [left] at  (0,\j) {$10^\circ$};
\node foreach \j in {1,2} [right] at  (3,\j) {$40^\circ$};
\node foreach \i in {1,2} [below] at  (\i,0) {$30^\circ$};
\node foreach \i in {1,2} [above] at  (\i,3) {$20^\circ$};
\node foreach \i in {1,2} [above right] at  (\i,2) {$\i$};
\node foreach \lab [count=\n] in {4,3} [above right] at  (\n,1) {$\lab$};
\foreach \list[count=\j from 0] in {{1,2},{0,1,2,3},{0,1,2,3},{1,2}}
 \foreach \x in \list {
 \fill (\x,\j)[cyan] circle (2pt);
 }
\end{tikzpicture}

\end{document}

Antwort2

Grundlegendes Zeichnen in LaTeX mit TikZ: Rechteck mit Linien, Punkten und Beschriftungen.

Sie benötigen nur ein Paket:

\usepackage{tikz}

Definieren wir für unsere Figur eine blaue und eine graue Farbe:

\definecolor{mBlue}{HTML}{1F77B4}
\definecolor{mGray}{HTML}{d7dbdd}

Erstellen Sie nun einen Stil für die Punkte. Wir möchten nicht immer wieder viele Befehle und Optionen schreiben. Wir werden diesen Stil aufrufen vertexund den Befehl verwenden \tikzstyle{vertex}. Anhand der Optionen können wir erkennen, dass es sich um einen handelt circle. Er wird mit der oben definierten Farbe gezeichnet mBlueund auch mit derselben Farbe gefüllt. Die Trennungsoptionen steuern indirekt, wie groß der Kreis sein soll und wie der Abstand zwischen allen Texten ist, die Sie innerhalb des Knotens schreiben möchten. Sie können auch verwenden minimimum size=0.2.

\tikzstyle{vertex}=[circle,draw=mBlue,fill=mBlue,inner sep=0.6mm, outer sep=0mm]

Wir können die obigen drei Zeilen in die Präambel einfügen, also das „Zeug“ davor \begin{document}.

Wir sind nun bereit, die Figurenumgebung zu verwenden und zu zeichnen. Unsere Zeichnungen werden in der tikzpictureUmgebung platziert. Sie werden feststellen, dass es auch eine scaleOption gibt. Diese kann verwendet werden, um die Größe der Figur zu vergrößern/verkleinern. Interessanterweise hat die Skalierung keinen Einfluss auf den in der Figur platzierten Text.

\begin{figure}[h]
\centering
\begin{tikzpicture}[scale=1]
 % our drawing goes here
\end{tikzpicture}
\caption{The figure.}
\end{figure}

Das Wichtigste, was Sie jetzt tun müssen, ist, den wichtigen Punkten in Ihrer Figur einige Koordinaten zuzuweisen. Das kann am Anfang für manche einschüchternd wirken, ist aber einfacher, als es scheint. Nehmen wir an, wir bezeichnen die untere linke Ecke als Punkt (0,0) und den obersten Punkt als (3,3). Sie können den Befehl \coordinate (name) at (<x>,<y>);für jeden der sechzehn Punkte in der Figur verwenden. Ich wollte jedoch Schleifen einführen, forda viele neue Benutzer diese äußerst praktische Funktion vermissen. Ich habe eine Koordinatenfigur hinzugefügt.

\foreach \x in {0,...,3} {
    \foreach \y in {0,...,3} {
        \coordinate (\x_\y) at (\x,\y);
    }
}

Nun drawdas äußere Rechteck und die Linien. Sie können das Rechteck mit füllen draw[fill=mGray].

\draw (0_0) -- (3_0) -- (3_3) -- (0_3) -- (0_0);
\draw (1_0) -- (1_3);
\draw (2_0) -- (2_3);
\draw (0_1) -- (3_1);
\draw (0_2) -- (3_2);

Zeichnen wir die blauen Punkte und fügen ihnen Beschriftungen hinzu. Diese Beschriftungen ergeben den Text. Die Beschriftungsposition kann mit left, right, below, und angegeben werden above. Wir können sie auch zu kombinieren above right.

\node[vertex, label=below:$30^\circ$] at (1_0) {};
\node[vertex, label=below:$30^\circ$] at (2_0) {};
\node[vertex, label=left:$10^\circ$] at (0_1) {};
\node[vertex, label=left:$10^\circ$] at (0_2) {};
\node[vertex, label=above right:$2$] at (2_2) {};

Aus Code generierte Abbildung. Koordinatenabbildung.

Wir sollten in der Lage sein, den Rest auszufüllen!

Bearbeiten: Wie in den Kommentaren erwähnt, können Sie den Wert der Koordinaten direkt verwenden, anstatt die Namen zu verwenden, z. B. direkt (2,3) anstelle von (2_3). Sie müssen auch nicht die doppelten For-Schleifen verwenden, um die Koordinaten zu definieren.

Antwort3

Mögliche AsymptoteAusführung:

// tab3x3.asy
//
// run  asy tab3x3.asy   to get   tab3x3.pdf
//
settings.tex="pdflatex";
size(4cm);
pen fillPen=rgb("E3E3E5");
pen linePen=rgb("201D1D")+0.7bp;;
pen dotPen =rgb("00A4EC")+4bp;

filldraw(box((-3,-3),(3,3)),fillPen,linePen);
guide mid=box((-1,1),(1,-1));
guide[] net=(-1,3)--(-1,-3)^^(1,3)--(1,-3)^^(-3,-1)--(3,-1)^^(-3,1)--(3,1);
draw(net,linePen);
dot(net,dotPen);

int[] labVal={10,20,30,40};
pair[][] labPos={{(-3,-1),(-3,1)},{(-1,3),(1,3)},{(-1,-3),(1,-3)},{(3,-1),(3,1)}};
pair[] labOff={W,N,S,E};

for(int i=0;i<length(mid);++i){
  dot(point(mid,i),dotPen);
  label("$"+string(i+1)+"$",point(mid,i),plain.NE,linePen);
}

for(int i=0;i<labVal.length;++i){
  for(int j=0;j<labPos[0].length;++j){
    label("$"+string(labVal[i])+"^\circ$",labPos[i][j],labOff[i]);
  }
}

Bildbeschreibung hier eingeben

Antwort4

Eine weitere einfache, „von Hand“ durchgeführte Asymptotenlösung

Bildbeschreibung hier eingeben

// http://asymptote.ualberta.ca/
unitsize(1.5cm);
import math; // for grid
fill(box((0,0),(3,3)),lightgray);
add(grid(3,3));
pair[] pts={(1,2),(2,2),(2,1),(1,1),(0,1),(0,2),(1,3),(2,3),(3,1),(3,2),(2,0),(1,0)};
string[] s={"$10^{\circ}$","$20^{\circ}$","$30^{\circ}$","$40^{\circ}$"} ;
string[] lb={"$1$","$2$","$3$","$4$",s[0],s[0],s[1],s[1],s[2],s[2],s[3],s[3]};
pair[] a={NE,NE,NE,NE,W,W,N,N,E,E,S,S};

for(int i=0; i<pts.length; ++i){
fill(circle(pts[i],.06),magenta);
label(lb[i],align=a[i],pts[i]);
}

shipout(bbox(5mm));

verwandte Informationen