使用 tikz 删除 beamer 块

使用 tikz 删除 beamer 块

在此邮政我发现这个命令可以删除带有红叉的单词:

\newcommand\mycrossed[1]{\tikz[baseline=(A.base)]
    \node[cross out, draw= red, draw opacity=0.5, line width=1.5pt,
          inner sep=0pt, outer sep=0pt] (A) {#1};%
                        }

无论如何,如果帖子的参数是 beamer block,则该命令不起作用。我尝试将块包含在其中,minipage但没有成功。如何使用整个块获得类似的效果?

答案1

下面的代码修改自https://tex.stackexchange.com/a/96304/。它在 tikzpicture 中的小页面中显示一个块。tikzpicture 定义了可用于绘制十字的坐标(东北、西南等)。

锚点在顶部有点偏离(北锚点高于块的上部),因此您可以使用 tikzlibrarycalc($(coord1)+(coord2)$)语法降低这些坐标。

最后定义了一个新命令,可以轻松添加其他块,而无需每次手动添加 tikzpicture。

\documentclass{beamer}
\usepackage{tikz}
\usetheme{Frankfurt}
\usetikzlibrary{calc}
\begin{document}

\newcommand{\crossblock}[2]{%
\begin{tikzpicture}
    \node (n1) {%
    \begin{minipage}{\textwidth}
    \begin{block}{#1}%
      #2
    \end{block}%
    \end{minipage}
    };
    \draw[red,ultra thick] (n1.south west) -- ($(n1.north east)-(0pt,10pt)$);
    \draw[red,ultra thick] ($(n1.north west)-(0pt,10pt)$) -- (n1.south east);
\end{tikzpicture}
}
\begin{frame}
\crossblock{Block title}{Block text\par another line\par third line}
\crossblock{Second title}{Second contents\par next line}
\end{frame}
\end{document}

在此处输入图片描述

相关内容