Mit den folgenden Codes
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{intersections,shapes,arrows,positioning}
\begin{document}
\tikzstyle{block} = [rectangle, draw,
text width=7em, text centered, rounded corners, minimum height=3em]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{cloud} = [draw, ellipse, node distance=4.5cm,
minimum height=2.5em]
\begin{figure}
\begin{tikzpicture}[node distance = 3cm,auto]
\node [block] (firm) {Bob's favorite $i$};
\node [cloud, right of= firm] (C) {country $A$};
\node [cloud, below right of=firm] (C') {Alice $B$};
\path [line, thick] (firm) -- node {t}(C');
\path [line, thick] (C') -- node {t}(C);
\path [line,dashed, very thick] (firm) -- node {t+1}(C);
\end{tikzpicture}
\hspace{1cm}% NO SPACE!
\begin{tikzpicture}[node distance = 3cm,auto]
\node [block] (firm) {Bob's favorite $i$};
\node [cloud, right of= firm] (C) {country $A$};
\node [cloud, below right of=firm] (C') {Alice $B$};
\path [line, thick] (firm) -- node {t}(C');
\path [line, thick] (C') -- node {t}(C);
\path [line,dashed, very thick] (firm) -- node {t+1}(C);
\end{tikzpicture}
\caption{Bob and Alice}
\end{figure}
\end{document}
Wie erstelle ich die Figur in der Mitte?
Ich habe folgende Probleme:
- Wenn ich es
\centering
in derfigure
Umgebung verwende, würden die beiden Bilder in zwei Reihen stehen, ich möchte sie jedoch nebeneinander behalten. - Ich habe versucht, das Bild wie folgt zu skalieren:diese Antworttut es. Aber ich weiß nicht, wo ich in meinem Fall die Skalierungsparameter einfügen soll.
Antwort1
Da die Bilder relativ einfach sind, schlage ich vor, sie neu zu zeichnen. Verwenden Sie dabei eine neue Syntax für die Positionierung und Stildefinition. Beim Neuzeichnen müssen Sie eigentlich nur einige Parameter ändern, wodurch die Bildbreite verringert wird:
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows,
calc, % added
intersections, positioning, shapes}
\usepackage{showframe}
\begin{document}
\tikzset{ % changed from tikzstyle
block/.style = {rectangle, draw, rounded corners,
text width=4em, % reduced, now text is in two lines
minimum height=3em, align=center},
line/.style = {draw, thick, -latex'},
cloud/.style = {draw, ellipse, minimum height=2.5em, inner xsep=0pt}
}
\begin{figure}
\centering
\begin{tikzpicture}[
node distance = 2cm and 1.5cm, % changed (reduced)
auto]
\node [block] (firm) {Bob's favorite $i$};
\node [cloud, right=of firm] (C) {country $A$}; % new syntax according to positioning library
\node [cloud, below=of $(firm)!0.5!(C)$] (C') {Alice $B$}; % use of calc library
\path [line] (firm) -- node {t}(C');
\path [line] (C') -- node {t}(C);
\path [line,dashed, very thick] (firm) -- node {t+1} (C);
\end{tikzpicture}
\hfil % for distance between images
\begin{tikzpicture}[
node distance = 2cm and 1.5cm,
auto]
\node [block] (firm) {Bob's favorite $i$};
\node [cloud, right=of firm] (C) {country $A$};
\node [cloud, below=of $(firm)!0.5!(C)$] (C') {Alice $B$};
\path [line] (firm) -- node {t}(C');
\path [line] (C') -- node {t}(C);
\path [line,dashed, very thick] (firm) -- node {t+1} (C);
\end{tikzpicture}
\caption{Bob and Alice}
\end{figure}
\end{document}
Die Standardtextbreite article
ist sehr schmal. Zeitschriften oder Konferenzen haben normalerweise einen viel schmaleren Rand, weniger als 25 mm. In diesem Fall können Sie „wide“ verwenden block
, wie Sie es beispielsweise in Ihrem MWE (7em) tun.