Positionierung des TikZ-Blocks mittig über zwei untergeordneten Blöcken

Positionierung des TikZ-Blocks mittig über zwei untergeordneten Blöcken

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.

mwe

Antwort1

below rightDie einfachste Methode besteht wahrscheinlich darin, die Knoten und below leftden .southAnker 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.metaanstelle der veralteten arrowsBibliothek 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.

zentrierter Knoten relativ zu Blöcken

Der zweite Rahmen zentriert den oberen Block relativ zum Rahmen.

zentrierter Knoten relativ zum Rahmen

verwandte Informationen