
В основном этот вопрос (Выровнять вертикально два tikzpicture в подплаве), но для вертикально расположенных поплавков.
Я знаю, что их можно выровнять с помощью baseline
опции, если они находятся рядом друг с другом, но я не знаю, как выровнять их по горизонтали.
Я бы хотел, чтобы пунктирные линии были вертикальными, т.е. выровняли узлы.
\documentclass{article}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{subfig}
\usepackage{pgfplots}
\usetikzlibrary{positioning}
\begin{document}
\begin{figure}
\centering
\newcommand{\length}{400}
\subfloat[Bovenaanzicht]{
\begin{tikzpicture}[x=.250mm,y=.250mm,remember picture]
% Afmeting van inlet
\draw[<->] (0, 45) -- (0, -45) node[left,midway] {90mm};
% Afmeting outlet
\draw[<->] (\length + 40, 45) -- (\length + 40, -45) node[right,midway] {90mm};
% Afmeting fan
\draw[<->] (65, .5*65) -- (65, -.5*65) node[left,midway] {65mm};
% Tube
\draw (0,45) -- (65, 0.5*65) -- (65+42, 0.5*65) -- (\length, 45);
\draw (0,-45) -- (65, -0.5*65) -- (65+42, -0.5*65) -- (\length, -45);
\node (fanpositionl bovenaanzicht) at (65, 0.5*65){};
\node (fanpositionr bovenaanzicht) at (65+42, 0.5*65){};
\end{tikzpicture}
}
\par
\subfloat[Zijaanzicht]{
\begin{tikzpicture}[x=.250mm,y=.250mm,remember picture]
% Tube
\draw (0,37) -- (65, 65) -- (65+42, 65) -- (\length, 32);
\draw (0,0) -- (\length, 0);
\node (fanpositionl zijaanzicht) at(65, 0) {};
\node (fanpositionr zijaanzicht) at(65+42, 0) {};
\end{tikzpicture}
}
\begin{tikzpicture}[x=.250mm,y=.250mm,overlay,remember picture]
\draw[dashed] (fanpositionl zijaanzicht) -- (fanpositionl bovenaanzicht);
\draw[dashed] (fanpositionr zijaanzicht) -- (fanpositionr bovenaanzicht);
\end{tikzpicture}
\caption{Profiel van ``Elliptische'' duct}\label{fig:motorschacht_elliptisch}
\end{figure}
\end{document}
решение1
Вам нужно сделать так, чтобы картинки выглядели одинакового размера для tikz
. Это можно сделать, полностью установив ограничивающую рамку или частично с помощью trim left
и trim right
.
\documentclass{article}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{subfig}
\usepackage{pgfplots}
\usetikzlibrary{positioning}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{figure}
\centering
\newcommand{\length}{280}
\subfloat[Bovenaanzicht]{
\begin{tikzpicture}[x=.250mm,y=.250mm,trim left,trim right=200,
remember picture]
% Afmeting van inlet
\draw[<->] (0, 45) -- (0, -45) node[left,midway] {90mm};
% Afmeting outlet
\draw[<->] (\length + 40, 45) -- (\length + 40, -45)
node[right,midway] {90mm};
% Afmeting fan
\draw[<->] (65, .5*65) -- (65, -.5*65) node[left,midway] {65mm};
% Tube
\draw (0,45) -- (65, 0.5*65) -- (65+42, 0.5*65) -- (\length, 45);
\draw (0,-45) -- (65, -0.5*65) -- (65+42, -0.5*65) -- (\length, -45);
\node (fanpositionl bovenaanzicht) at (65, 0.5*65){};
\node (fanpositionr bovenaanzicht) at (65+42, 0.5*65){};
\end{tikzpicture}
}\\
\subfloat[Zijaanzicht]{
\begin{tikzpicture}[x=.250mm,y=.250mm,trim left,trim right=200,
remember picture]
% Tube
\draw (0,37) -- (65, 65) -- (65+42, 65) -- (\length, 32);
\draw (0,0) -- (\length, 0);
\node (fanpositionl zijaanzicht) at(65, 0) {};
\node (fanpositionr zijaanzicht) at(65+42, 0) {};
\end{tikzpicture}
}
\begin{tikzpicture}[x=.250mm,y=.250mm,remember picture,overlay]
\draw[dashed] (fanpositionl zijaanzicht) -- (fanpositionl bovenaanzicht);
\draw[dashed] (fanpositionr zijaanzicht) -- (fanpositionr bovenaanzicht);
\end{tikzpicture}
\caption{Profiel van ``Elliptische'' duct}\label{fig:motorschacht_elliptisch}
\end{figure}
\end{document}
Я уменьшил \length
переменную, чтобы изображения поместились на странице.
решение2
Проблема в том, что первое изображение шире, чем , \textwidth
поэтому оно выступает в правый край. Чтобы предотвратить это, один из вариантов — уменьшить масштаб вашего tikzpicture
s (я использовал scale=0.85
). Также обратите внимание, что у вас были некоторые ложные пробелы, которые я убрал в своем коде с помощью %
:
\documentclass{article}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{subfig}
\usepackage{pgfplots}
\usetikzlibrary{positioning}
\begin{document}
\begin{figure}
\centering
\newcommand{\length}{400}
\subfloat[Bovenaanzicht]{%
\begin{tikzpicture}[x=.250mm,y=.250mm,remember picture,scale=0.85]
% Afmeting van inlet
\draw[<->] (0, 45) -- (0, -45) node[left,midway] {90mm};
% Afmeting outlet
\draw[<->] (\length + 40, 45) -- (\length + 40, -45) node[right,midway] {90mm};
% Afmeting fan
\draw[<->] (65, .5*65) -- (65, -.5*65) node[left,midway] {65mm};
% Tube
\draw (0,45) -- (65, 0.5*65) -- (65+42, 0.5*65) -- (\length, 45);
\draw (0,-45) -- (65, -0.5*65) -- (65+42, -0.5*65) -- (\length, -45);
\node (fanpositionl bovenaanzicht) at (65, 0.5*65){};
\node (fanpositionr bovenaanzicht) at (65+42, 0.5*65){};
\end{tikzpicture}%
}
\par
\subfloat[Zijaanzicht]{%
\begin{tikzpicture}[x=.250mm,y=.250mm,remember picture,scale=0.85]
% Tube
\draw (0,37) -- (65, 65) -- (65+42, 65) -- (\length, 32);
\draw (0,0) -- (\length, 0);
\node (fanpositionl zijaanzicht) at(65, 0) {};
\node (fanpositionr zijaanzicht) at(65+42, 0) {};
\end{tikzpicture}%
}
\begin{tikzpicture}[x=.250mm,y=.250mm,overlay,remember picture]
\draw[dashed] (fanpositionl zijaanzicht) -- (fanpositionl bovenaanzicht);
\draw[dashed] (fanpositionr zijaanzicht) -- (fanpositionr bovenaanzicht);
\end{tikzpicture}
\caption{Profiel van ``Elliptische'' duct}\label{fig:motorschacht_elliptisch}
\end{figure}
\end{document}