0

With the following 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}

I have enter image description here

How can I make the figure in the center?


I have the following problems:

  • If I use \centering in the figure environment, the two pictures would be in two rows; but I want to keep them side by side.
  • I have tried to rescale the picture like this answer does. But I don't know where to put the scaling parameters in my case.

1 Answers1

0

Since images are relatively simple, I suggest to redraw them. In this use new syntax for positioning and style definition. In redrawing you actually need to change only some parameters, which will shrink image width:

\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}

enter image description here

Default text width of article is very narrow. Journals or conferences usually have margin much more narrow, less then 25 mm. In this case you can use wide block, for example as you have in your MWE (7em).

Zarko
  • 296,517