
Ich habe einige Figuren, die ich gerne verwenden würde, aber da die erste größer als die zweite ist, wird die zweite relativ zur Unterkante der ersten platziert. Mein Code:
\begin{figure}[h]
\centering
\begin{tikzpicture}[scale=0.9]
\draw[->] (0, 0) -- (6, 0) node[right] {$z$};
\draw[->] (0, 0) -- (0, 6) node[above] {$x$};
\coordinate (a) at (5, 1);
\node[fill=red, circle, scale=0.3, label=above:{$s$}] (s) at (5, 5) {};
\node[fill=red, circle, scale=0.3, label=below:{$e$}] (e) at (1, 1) {};
\draw (s) -- (e);
\node[fill=red, circle, scale=0.3, label=above:{$m^*$}] (m*) at (2.293, 3.707) {};
\node[fill=red, circle, scale=0.3, label=right:{$m$}] (m) at (3, 3) {};
\draw (m) -- (m*);
\draw[dashed] (s) -- (a) node[pos=0.5, label=right:{$\Delta x$}] -- (e) node[pos=0.5, label=below:{$\Delta z$}] {};
\end{tikzpicture}
\hspace{10mm}
\begin{tikzpicture}
\coordinate (ayy) at (4.293, 1);
\coordinate (mstar) at (4.293, 3.707);
\coordinate (emm) at (7, 1);
\node[fill=red, circle, scale=0.3, label=above:{$m^*$}] (m*) at (mstar) {};
\node[fill=red, circle, scale=0.3, label=right:{$m$}] (m) at (emm) {};
\node[fill=none, inner sep=0, outer sep=0] (a) at (ayy) {};
\draw (m) -- (m*) node[pos=0.6, label=right:{$d$}] {};
\draw[dashed] (a) -- (m*) node[pos=0.5, label=left:{$d\cos\alpha$}] {};
\draw[dashed] (a) -- (m) node[pos=0.5, label=below:{$d\sin\alpha$}] {};
\pic[draw, "$\alpha$", angle eccentricity=1.2, angle radius=7mm] {angle=ayy--mstar--emm};
\end{tikzpicture}
\caption{Calculating $m^*$ (Case 1)}
\end{figure}
Antwort1
Herzlich willkommen! Es gibt viele Möglichkeiten, von denen ich zwei erläutere:
- Verwenden Sie
\vcenter
. Die vielleicht einfachste Möglichkeit, es zu verwenden, besteht darin, es in den Mathematikmodus zu versetzen. - Verwenden Sie nur ein Bild und arbeiten Sie mit Bereichen.
Im zweiten Beispiel habe ich den Code etwas vereinfacht, indem ich Polarkoordinaten verwende, den Parser zum Analysieren von Koordinaten verwende, Pfade kombiniere usw.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{angles,quotes}
\begin{document}
\begin{figure}[h]
\centering
$\vcenter{\hbox{\begin{tikzpicture}[scale=0.9]
\draw[->] (0, 0) -- (6, 0) node[right] {$z$};
\draw[->] (0, 0) -- (0, 6) node[above] {$x$};
\coordinate (a) at (5, 1);
\node[fill=red, circle, scale=0.3, label=above:{$s$}] (s) at (5, 5) {};
\node[fill=red, circle, scale=0.3, label=below:{$e$}] (e) at (1, 1) {};
\draw (s) -- (e);
\node[fill=red, circle, scale=0.3, label=above:{$m^*$}] (m*) at (2.293, 3.707) {};
\node[fill=red, circle, scale=0.3, label=right:{$m$}] (m) at (3, 3) {};
\draw (m) -- (m*);
\draw[dashed] (s) -- (a) node[pos=0.5, label=right:{$\Delta x$}]{}
-- (e) node[pos=0.5, label=below:{$\Delta z$}] {};
\end{tikzpicture}}}
\hspace{10mm}
\vcenter{\hbox{\begin{tikzpicture}
\coordinate (ayy) at (4.293, 1);
\coordinate (mstar) at (4.293, 3.707);
\coordinate (emm) at (7, 1);
\node[fill=red, circle, scale=0.3, label=above:{$m^*$}] (m*) at (mstar) {};
\node[fill=red, circle, scale=0.3, label=right:{$m$}] (m) at (emm) {};
\node[fill=none, inner sep=0, outer sep=0] (a) at (ayy) {};
\draw (m) -- (m*) node[pos=0.6, label=right:{$d$}] {};
\draw[dashed] (a) -- (m*) node[pos=0.5, label=left:{$d\cos\alpha$}] {};
\draw[dashed] (a) -- (m) node[pos=0.5, label=below:{$d\sin\alpha$}] {};
\pic[draw, "$\alpha$", angle eccentricity=1.2, angle radius=7mm] {angle=ayy--mstar--emm};
\end{tikzpicture}}}$
\end{figure}
\begin{figure}[h]
\centering
\begin{tikzpicture}[bullet/.style={fill=red, circle, scale=0.3, label=#1}]
\begin{scope}[scale=0.9]
\draw[<->] (0, 6) node[above] {$x$} |- (6, 0) node[right] {$z$};
\coordinate (a) at (5, 1);
\node[bullet=above:{$s$}] (s) at (5, 5) {};
\node[bullet=below:{$e$}] (e) at (1, 1) {};
\draw (s) -- node[fill=red, circle, scale=0.3, label=right:{$m$}] (m){} (e)
(m) ++ (135:1)
node[fill=red, circle, scale=0.3, label=above:{$m^*$}] (m*) {};
\draw (m) -- (m*);
\draw[dashed] (s) |- (e) node[pos=0.75,below] {$\Delta z$}
node[pos=0.25,right](dx){$\Delta x$};
\end{scope}
\begin{scope}
\path (dx) ++ (3,{-1-1/sqrt(8)}) coordinate (a)
++ (0,{2+1/sqrt(2)})
node[bullet=above:{$m^*$}] (m*) {}
(a) ++ ({2+1/sqrt(2)},0)
node[bullet=right:{$m$}] (m){};
\draw (m) -- (m*);
\draw[dashed] (m*) -- node[left] (dc){$d\cos\alpha$} (a)
-- node[below]{$d\sin\alpha$} (m);
\pic[draw, "$\alpha$", angle eccentricity=1.2, angle radius=7mm]
{angle=a--m*--m};
\end{scope}
\end{tikzpicture}
\end{figure}
\end{document}
Übrigens besteht das übliche Format auf dieser Site darin, vollständige minimale Arbeitsbeispiele (MWEs) bereitzustellen. Dies sind Codes, die alles enthalten, was zum Kompilieren erforderlich ist, und die normalerweise mit beginnen \documentclass
und mit enden \end{document}
. In Ihrem Fall weiß ich nicht, welche Dokumentklasse Sie verwenden, also musste ich raten, und welche Pakete Sie laden (außer denen, die zum Durchlaufen Ihres Snippets erforderlich sind). Möglicherweise laden Sie bereits etwas, das Tools enthält, mit denen Sie Ihr Problem auf andere Weise lösen können.
Antwort2
Eine weitere Möglichkeit ist das Ausrichten von Bildern an der ausgewählten Grundlinie. Mit leicht modifiziertem Code für Bilder lautet der MWE beispielsweise:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{angles,
calc, % new
quotes}
\begin{document}
\begin{figure}[h]
\tikzset{dot/.style = {circle, fill=red, minimum size=3pt, inner sep=0pt}}% new
\begin{tikzpicture}[baseline=(X.center)] % <---
% caxes
\draw[->] (0,0) -- (6, 0) node[right] {$z$};
\draw[->] (0,0) -- (0, 6) node[above] {$x$};
% triangle
\node (s) [dot, label=$s$] at (5,5) {};
\node (e) [dot, label=below:{$e$}] at (1,1) {};
\draw (s) -- node (m) [dot, label=right:$m$] {} (e);
\node (m*) [dot, label=$m^*$] at ($(m)!10mm!90:(s)$) {};
\node[fill=red, circle, scale=0.3, label=right:{$m$}] (m) at (3, 3) {};
\draw (m) -- (m*);
\draw[dashed] (e) -| (s) node[pos=0.25, label=below:$\Delta z$] {}
node (X) [pos=0.75, label=right:$\Delta x$] {}; % <---
\end{tikzpicture}
\hfill
\begin{tikzpicture}[baseline=(X.center)] % <---
\node (m*) [dot, label=above:$m^*$] {};
\node (m) [dot, label=right:$m$] at (3,-3) {};
\draw (m*) -- node[label=right:$d$] {} (m);
\draw[dashed] (m*) |- (m) node (X) [pos=0.25, label=left:$d\cos\alpha$] {} % <---
coordinate[pos=0.5] (a) % <---
node[pos=0.75, label=below:$d\sin\alpha$] {};
\pic[draw, "$\alpha$", angle eccentricity=1.2, angle radius=7mm] {angle=a--m*--m};
\end{tikzpicture}
\end{figure}
\caption{Calculating $m^*$ (Case 1)}
\end{document}