我有一张智能图表:
\begin{frame}
\begin{center}
\smartdiagramanimated[descriptive diagram]{
{Style},
{Style,{Define shapes, colors, shading,
and line styles for nodes and arrows}},
{Position, {Place nodes using a matrix,
relative or absolute positioning}},
{Relation, Insert edges or arrows
between selected nodes},
{Label, Add labels on edges or arrows}}
\end{center}
\end{frame}
但我的问题是我想要两样东西:
1-我希望第一个“样式”项是像下面的矩形,而不是像那样的圆形并位于中心。
答案1
如果使用其中指示的名称,leandris 链接中的方法确实有效。让我先介绍一个版本,在这个版本中,我们通过覆盖它来摆脱不需要的节点。(下面有一个替代方案,可以说它更优雅,但也更“黑客化”,如果软件包作者将计数器从更改为\xi
其他可能不是希腊字母的东西,它将停止以当前形式工作。)
\documentclass{beamer}
\usepackage{smartdiagram}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}[plain]
\centering\tikzset{every picture/.append style={remember picture}}
\smartdiagramanimated[descriptive diagram]{
{{},blub},
{Style,{Define shapes, colors, shading,
and line styles for nodes and arrows}},
{Position, {Place nodes using a matrix,
relative or absolute positioning}},
{Relation, Insert edges or arrows
between selected nodes},
{Label, Add labels on edges or arrows}}
\begin{tikzpicture}[overlay,remember picture]
\only<1>{\fill[white] ([xshift=2mm]module1.west|-module-title1.north)
rectangle ++ (-1.8cm,-1.63cm);}
\fill[white] (module1.west|-module-title1.north)
rectangle ++ (-1.6cm,-1.63cm);
\foreach \X [count=\Y,evaluate=\Y as \Z using {int(2+2*\Y)}] in {2,...,5}
{\draw[line width=1mm,-latex,visible on=<\Z->] (module\Y.south) -- (module\X.north);}
\end{tikzpicture}
\end{frame}
\end{document}
与往常一样remember picture
,您需要编译两次。
附录:只是为了好玩:这试图解决这个问题
smartdiagram
除了一个小细节之外,当软件包完全按照我们的要求运行的时候,我们怎样才能“破解”它们呢?
实现这一目标的一个可行方法是本地重新定义样式。在下面的代码中,第一个圆形节点被删除没有被覆盖。这是通过查找smartdiagram
手册中的计数器来实现的(手册写得非常好)。截至目前,此计数器被称为\xi
(如果某些用户想$\xi$
在他们的代码中使用希腊字母,这最终可能会导致问题,他们可能会有点惊讶,所以 Claudio,如果你读到这个,请告诉我你是否重命名了计数器,以便我可以相应地修改答案 ;-)。所以我们需要做的就是说
description title/.append style={/utils/exec={\ifnum\xi=1
\pgfkeysalso{opacity=0,every shadow/.append style={opacity=0}}
\fi}}
这样第一个项目就不可见了。这是完整的代码。
\documentclass{beamer}
\usepackage{smartdiagram}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}[plain]
\centering\begingroup% we want to keep these hacks local
\tikzset{every picture/.append style={remember picture},
description title/.append style={/utils/exec={\ifnum\xi=1
\pgfkeysalso{opacity=0,every shadow/.append style={opacity=0}}
\fi}}}
\smartdiagramanimated[descriptive diagram]{
{{},blub},
{Style,{Define shapes, colors, shading,
and line styles for nodes and arrows}},
{Position, {Place nodes using a matrix,
relative or absolute positioning}},
{Relation, Insert edges or arrows
between selected nodes},
{Label, Add labels on edges or arrows}}
\begin{tikzpicture}[overlay,remember picture]
\foreach \X [count=\Y,evaluate=\Y as \Z using {int(2+2*\Y)}] in {2,...,5}
{\draw[line width=1mm,-latex,visible on=<\Z->] (module\Y.south) -- (module\X.north);}
\end{tikzpicture}\endgroup
\end{frame}
\end{document}