
Ich habe folgendes MWE einer Beamer-Folie:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,shapes,calc}
\usetheme{Singapore}
\begin{document}
\begin{frame}
\begin{tikzpicture}[node distance=15mm, >=latex',
block/.style = {draw, rectangle, minimum height=10mm, minimum width=28mm,align=center},]
\node [block] (dose_reduction) {Dose reduction};
\node [block, below left=of dose_reduction] (filtering) {Filtering techniques};
% issues with either of these lines
%\node [block, below right=of dose_reduction] (reconstruction) {Reconstruction techniques};
\node [block, right=of filtering] (reconstruction) {Reconstruction techniques};
\draw[->] (filtering) edge (dose_reduction);
\draw[->] (reconstruction) edge (dose_reduction);
\end{tikzpicture}
\end{frame}
\end{document}
Ich möchte, dass die obere Box horizontal zentriert ist. Außerdem sollte der Abstand vom linken Folienrand zur linken Box genauso groß sein wie der Abstand vom rechten Folienrand zur rechten Box. Ich habe zwei Varianten ausprobiert, aber keine hat funktioniert.
Antwort1
below right
Die einfachste Methode besteht wahrscheinlich darin, die Knoten und below left
den .south
Anker des oberen Knotens so zu platzieren, dass der obere Block relativ zu den unteren zentriert ist.
Um den oberen Block relativ zum Rahmen zu zentrieren, ist es wahrscheinlich am einfachsten, zuerst die unteren Blöcke zu zeichnen und dann den oberen Block relativ zum aktuellen Begrenzungsrahmen zu zentrieren.
Ich habe außerdem die Syntax aktualisiert, sodass sie arrows.meta
anstelle der veralteten arrows
Bibliothek verwendet wird.
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning}
\usetheme{Singapore}
\begin{document}
\begin{frame}
\centering
\begin{tikzpicture}[node distance=15mm, >=Latex,
block/.style = {draw, rectangle, minimum height=10mm, minimum width=28mm,align=center},]
\node [block] (dose_reduction) {Dose reduction};
\node [block, below left=of dose_reduction.south] (filtering) {Filtering techniques};
\node [block, below right=of dose_reduction.south] (reconstruction) {Reconstruction techniques};
\draw[->] (filtering) edge (dose_reduction);
\draw[->] (reconstruction) edge (dose_reduction);
\end{tikzpicture}
\end{frame}
\begin{frame}
\centering
\begin{tikzpicture}[node distance=15mm, >=Latex,
block/.style = {draw, rectangle, minimum height=10mm, minimum width=28mm,align=center},]
\node [block] (filtering) {Filtering techniques};
\node [block, right=of filtering] (reconstruction) {Reconstruction techniques};
\node [block, above=of filtering.north -| current bounding box.center] (dose_reduction) {Dose reduction};
\draw[->] (filtering) edge (dose_reduction);
\draw[->] (reconstruction) edge (dose_reduction);
\end{tikzpicture}
\end{frame}
\end{document}
Das Bild in beiden Folien wird mithilfe von relativ zum Rahmen zentriert \centering
. Der erste Rahmen zentriert den oberen Block relativ zu den unteren Blöcken.
Der zweite Rahmen zentriert den oberen Block relativ zum Rahmen.