
Ich bin neu bei TikZ. Ich versuche, das Foto mit dem TikZ-Paket zu realisieren.
Ich weiß, wie man diese einzelnen Figuren mit tikzpicture zeichnet. Ich bin mir jedoch nicht sicher, wie ich sie in eine Reihenfolge bringen und mit Pfeilen verbinden kann. Ich habe einige ähnliche Beispiele in der Graph-Bibliothek gefunden, aber diese Beispiele beinhalten nur einfache Knoten, also Kreise. Daher möchte ich wissen, ob das Paket Figuren als Knoten zulässt, wie auf dem Foto. Es wäre besser, wenn ich die Koordinaten jeder der kleinen Figuren angeben könnte.
Update: Ich verwende die in den Kommentaren vorgeschlagene Methode. Hier ist ein Teil meines Codes:
\begin{tikzpicture}[scale=0.6]
\definecolor{shading}{gray}{0.8}
% Unit Disk
\begin{scope}[shift={(-12,1)},local bounding box=D]
\filldraw[color=shading] (0,0) circle (2);
\draw [line width=1pt] (0,0) circle (2);
\draw [->] (-2.5, 0) -- (2.5,0);
\draw [->] (0, -2.5) -- (0, 2.5);
\node at (0,-3) {Unit Disk $\mathbb D$};
\end{scope}
% Upper Half Plane
\begin{scope}[scale=1.1,local bounding box=H]
\filldraw[color=shading] (-2.5,0) rectangle (2.5,2.5);
\draw [line width=1pt] (-2.5, 0) -- (2.5,0);
\draw [->] (-2.5, 0) -- (2.5,0);
\draw [->] (0, -1) -- (0, 2.5);
\node at (0,-1.5) {Upper Half Plane $\mathbb H$};
\end{scope}
\draw [->] (H) -- (D);
\end{tikzpicture}
Das Ausgabebild sieht wie folgt aus:
Hier sind die Hauptprobleme:
- Der Pfeil scheint zu lang zu sein. Ich frage mich, ob ich in der Scope-Umgebung Code hinzufügen kann, um meine Begrenzungsrahmen zu vergrößern.
- Ich weiß nicht, wie ich zwei parallele Pfeile in entgegengesetzte Richtungen mit Formeln darauf hinzufügen kann. Die Formeln müssen unabhängig von der Richtung des Pfeils auch horizontal ausgerichtet sein.
- Außerdem möchte ich auf diesen Knoten selbstzeigende Pfeile platzieren.
Antwort1
Dieses Beispiel ist ein guter Ausgangspunkt.
outer sep
Wenn die Pfeile zu lang sind, können Sie entweder die Länge eines Knotens erhöhen oder dieshorten
Funktionalität verwenden, wie sie eingeführt wirdHier.- Parallele Pfeile können mit einem Pfeilpaar mit unterschiedlichen gezeichnet werden
yshift
. - Selbstzeigende Pfeile können mit
\draw
dem Befehl und der Angabe vonin
,out
und gezeichnet werdenlooseness
.
\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage{tikz, pgfplots}
\usepackage{amsmath, amssymb}
\usetikzlibrary{calc, patterns, positioning, arrows}
\begin{document}
\begingroup
\fontsize{9}{11}\selectfont
\tikzset{
node distance=0.1cm
}
\begin{tikzpicture}
\node (center) at (0, 0) {
\begin{tikzpicture}[scale=1.2]
\draw[-latex] (-1, 0)--(1, 0);
\draw[-latex] (0, -0.2)--(0, 1);
\draw[pattern=north west lines, pattern color=black] (-0.9, 0) rectangle (0.9, 0.8);
\end{tikzpicture}
};
\node[below=of center] (center text) {Upper Half Plane $\mathbb{H}$};
\node (center loop) at ($(center text)+(1.3, -0.3)$) {};
\draw[-latex] (center loop) to [in=-30, out=-150, looseness=30] node[yshift=-5mm] {\tiny $\displaystyle\operatorname{Aut}(\mathbb{H})=
\left\{ f(z)=\frac{az+b}{cz+d},\ldots \right\}$} (center loop);
\node (graph1) at (-5, 1.5) {
\begin{tikzpicture}[scale=1.2]
\draw[-latex] (-1, 0)--(1, 0);
\draw[-latex] (0, -0.2)--(0, 1);
\draw[pattern=north west lines, pattern color=black] (-0.5, 0) rectangle (0.5, 0.8);
\node at (-0.5, -0.15) {\tiny $-\frac{\pi}{2}$};
\node at (0.5, -0.15) {\tiny $\frac{\pi}{2}$};
\end{tikzpicture}
};
\draw[->] (center.north west) to node[midway, above, xshift=6mm] {\tiny $f(z)=\operatorname{arcsin}(z)$} (graph1.east);
\draw[->] ([yshift=-1mm]graph1.east) to node[midway, below, xshift=-6mm] {\tiny $f(z)=\sin(z)$} ([yshift=-1mm]center.north west);
\end{tikzpicture}
\endgroup
\end{document}