Beamer:itemize 内的节点

Beamer:itemize 内的节点

我试图将节点作为项目包含在内,以便文本像普通项目一样对齐,但我仍然可以包含箭头和框,如下面的 MWE 所示:

\documentclass{beamer}

\usepackage{tikz}
\usetikzlibrary{positioning,calc,decorations.pathreplacing}

\begin{document}

\begin{frame}
\begin{minipage}{.5\textwidth}
    \includegraphics[width=\linewidth]{example-image}
    \vspace{0.5cm}
    \includegraphics[width=\linewidth]{example-image}
\end{minipage}\hfill
\begin{minipage}{.475\textwidth}
    \begin{itemize}
        \item Mutated self proteins in tumor cells can be potential antigens presented by HLA-A
        \item
    \begin{tikzpicture}
    \node[align=left] (A) at (0,0) {Study immune system and cancer cells interactions};
    \node[below=1cm of A, anchor=center, fill=yellow] (B) {Immunotherapies};
    \draw[->, >=latex, blue!40!white, line width=5pt] (A) -- (B);
    \end{tikzpicture}
    \end{itemize}
\end{minipage}\hfill
\end{frame}

\end{document}

产生以下内容(文本未与项目符号和上面的文本对齐,就好像它是一个普通项目;过度装箱警告): 这

答案1

主要问题是您的图片tikzpicture太宽,超出了行上剩余的空间,因此会向下移动一行。要解决此问题,您需要text width在节点中指定(或剪切图片,但这没有帮助)。这样做会给您带来一些对齐问题:

  1. 您需要指定anchor节点的 t 是base第一行文本的 ,然后将其用作整个图片的垂直对齐点,方法是指定 baseline

  2. 然后您会注意到您的文本缩进的量来自inner sep节点的量,因此您需要将其放入0

示例输出

\documentclass{beamer}

\usepackage{tikz}
\usetikzlibrary{positioning,calc,decorations.pathreplacing}

\begin{document}

\begin{frame}

\begin{minipage}{.5\textwidth}
    \includegraphics[width=\linewidth]{example-image}
    \vspace{0.5cm}
    \includegraphics[width=\linewidth]{example-image}
\end{minipage}\hfill
\begin{minipage}{.475\textwidth}
    \begin{itemize}
    \item Mutated self proteins in tumor cells can be potential
      antigens presented by HLA-A
        \item%
    \begin{tikzpicture}[baseline=0]
      \node[align=left,inner sep=0pt,text width=0.9\linewidth,anchor=base]
      (A) at (0,0) {Study immune system and cancer cells interactions};
      \node[below=1.5cm of A, anchor=center, fill=yellow] (B) {Immunotherapies};
      \draw[->, >=latex, blue!40!white, line width=5pt] (A) -- (B);
    \end{tikzpicture}
  \end{itemize}
\end{minipage}\hfill

\end{frame}

\end{document}

顺便说一句,我假设您知道 的columns构造beamer,而不必使用minipages

相关内容