
Eu tenho o seguinte MWE de um slide do Beamer:
\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}
Gostaria que a caixa superior fosse centralizada horizontalmente. Além disso, a distância da borda esquerda do slide até a caixa esquerda deve ser tão grande quanto a distância da borda direita do slide até a caixa direita. Tentei duas variantes, mas nenhuma funcionou.
Responder1
O método mais simples é provavelmente colocar os nós below right
e below left
a .south
âncora do nó superior para centralizar o bloco superior em relação aos inferiores.
Para centralizar o bloco superior em relação ao quadro, provavelmente é mais fácil desenhar primeiro os blocos inferiores e depois centralizar o bloco superior em relação à caixa delimitadora atual.
Também atualizei a sintaxe para usar arrows.meta
em vez da arrows
biblioteca obsoleta.
\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}
A imagem em ambos os slides é centralizada em relação ao quadro usando \centering
. O primeiro quadro centraliza o bloco superior em relação aos blocos inferiores.
O segundo quadro centraliza o bloco superior em relação ao quadro.