我怎样才能通过中心将光束块与边缘连接起来?

我怎样才能通过中心将光束块与边缘连接起来?

X–Y

由于我的海报是关于自稳定算法的(坦率地说,我对此没有太多适合海报的内容),我想出了一个很酷的布局想法。我想block在页面上设置许多 s 并绝对定位它们,手动将任意块与边缘连接起来以形成图形。

我的尝试

% arara: xelatex
% arara: xelatex

\documentclass{beamer}

\usepackage[absolute,overlay]{textpos}

\usepackage[orientation=portrait,width=36in,height=44in]{beamerposter}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\beamertemplategridbackground[1in]

\newenvironment{node}[4]{%
  \begin{textblock*}{#2}(#3,#4)%
    \begin{block}{#1}%
      \tikzmark{#1}\ignorespaces
    }{%
    \end{block}
  \end{textblock*}
}

\begin{document}
\begin{frame}

  \begin{node}{Introduction}{4in}{3in}{4in}
    What is a self-stabilizing algorithm?
    Example from paper.
  \end{node}

  \begin{node}{Motivation}{10in}{14in}{15in}
    blah
  \end{node}

  \begin{tikzpicture}[remember picture]
    \draw[overlay, line width=5mm]
      (pic cs:Motivation) -- (pic cs:Introduction);
  \end{tikzpicture}
\end{frame}
\end{document}

但是,这毫不奇怪地将标记放在了左上角(文本开始的地方)。我怎样才能让它在垂直和水平方向上都位于块的中心,以便制作出令人信服的图表?

答案1

这是一种不同的方法,不使用 tikzmarks,而是remember as使用 的功能tcolorbox。代码如下:

\documentclass{beamer}

\usepackage[absolute,overlay]{textpos}

\usepackage[orientation=portrait,width=36in,height=44in]{beamerposter}

\usepackage{tcolorbox}                            %new code, tcb definition
\tcbuselibrary{skins}
\newtcolorbox{mybox}[1][]{
   enhanced jigsaw,
   colback=white,
   opacityback=0,
   opacityframe=0,
   coltitle=blue,
   #1
}

\beamertemplategridbackground[1in]

\newenvironment{node}[4]{%                         %changed code
  \begin{textblock*}{#2}(#3,#4)%
    \begin{mybox}[title=#1,remember as=#1]%
    }{%
    \end{mybox}
  \end{textblock*}
}

\begin{document}
\begin{frame}

  \begin{node}{Introduction}{4in}{3in}{4in}
    What is a self-stabilizing algorithm?
    Example from paper.
  \end{node}

  \begin{node}{Motivation}{2in}{14in}{15in}
       blah
  \end{node}

  \begin{tikzpicture}[remember picture]
    \draw[overlay, line width=5mm]
      (Introduction.center) -- (Motivation.center);     %changed code
  \end{tikzpicture}
\end{frame}
\end{document}

结果:

在此处输入图片描述

我所做的是创建一个自定义 tcolorbox 来代替sblock内的环境node。tcolorboxes 标题也可用作remember as键,因此您可以利用相对于每个 tcolorbox 的标准坐标定位(北、南等)。

相关内容