我想在投影仪幻灯片上展示关键字。我设想的是带有颜色和文本的椭圆(可能有不同的字体大小)。我想通过指定坐标/大小值在幻灯片上自由定位和调整它们的大小。
有人能提供一个最小示例吗?我认为 tikz 能够做到这一点,但我不知道具体要做什么,也找不到一个能满足我要求的示例。它不需要很漂亮,只要能用就行。
% This does not work for me because I cannot position the ellipses
% in absolute coordinates on the slide.
\begin{frame}
\begin{tikzpicture}
\tikz\draw[fill=orange!30!white] at (0,0) ellipse (20pt and 28pt);
\tikz\draw[fill=orange!60!white] at (1,0) ellipse (28pt and 20pt);
\end{tikzpicture}
\end{frame}
答案1
这需要两次运行才能正确对齐(因为有remember picture
选项)。
该命令\myellipse
具有以下语法:第一个可选参数是要传递给可选参数的附加内容 。之后是语法\node
中的坐标。和分别被解释为和的倍数。下一个可选参数是要应用于椭圆的颜色。最后,强制参数是椭圆的内容。(x,y)
x
y
\textwidth
\textheight
必须在命令后明确设置其周围的空格(使用反斜杠和随后的空格)或在\kern0pt
空格后放置一个。这是由于使用了\unskip
和\ignorespaces
。
\documentclass[]{beamer}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\tikzset{%
myellipse/.style={ellipse, draw=#1!70!black, fill=#1!30,inner xsep=0pt}}
\makeatletter
\newcommand*\myellipse{}% check whether it is already defined
\def\myellipse%
{%
\@ifnextchar[% ]
{\myellipse@i}
{\myellipse@i[]}%
}
\def\myellipse@i[#1](#2,#3)%
{%
\@ifnextchar[% ]
{\myellipse@ii{#1}{#2}{#3}}
{\myellipse@ii{#1}{#2}{#3}[orange]}%
}
\def\myellipse@ii#1#2#3[#4]#5%
{%
\unskip
\begin{tikzpicture}[remember picture,overlay]
\node[myellipse=#4,xshift=#2\paperwidth,yshift=#3\paperheight,#1]
at (current page.south west) {#5};%
\end{tikzpicture}%
\ignorespaces
}
\makeatother
\begin{document}
\begin{frame}
\myellipse[anchor=north east](.4,.4){foo}
\myellipse(.5,.5)[red]{bar}
\myellipse(.6,.6)[violet]{baz}
\myellipse(.7,.7)[blue]{\large size matches the contents}
\end{frame}
\end{document}
答案2
椭圆形的:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{positioning,
shadows,
shapes.geometric}
\begin{document}
\begin{frame}[fragile]
\frametitle{Keywords}
\begin{tikzpicture}[
node distance = 5mm,
E/.style = {% E as ellipse
ellipse, draw=#1!70!black, fill=#1!30,
inner xsep=0pt, drop shadow}
]
\node (n1) [E=orange] {important};
\node (n2) [E=red, right=of n1] {word};
\end{tikzpicture}
\end{frame}
\end{document}