#latex #beamer #tikz
#Латекс #beamer #tikz
Вопрос:
У меня есть следующее изображение:
и я хочу, чтобы его элементы отображались в определенном порядке в моей презентации beamer. На данный момент я пытаюсь сделать так, чтобы a_1, a_2 отображались на втором слайде. Я использую этот код:
documentclass{beamer}
usepackage{textcomp}
usepackage{tikz}
usetheme{Madrid}
begin{document}
begin{frame}{}
usetikzlibrary{shapes,arrows, positioning, calc}
tikzset{%
block/.style = {rounded corners, draw, thick, circle, minimum height = 3em,
minimum width = 3em, fill = yellow!50},
point/.style = {coordinate}, % Input
}
begin{tikzpicture}[auto, thick, node distance=2cm, >=triangle 45]
%node[block] (A1) at (0,0) {$A_1$};
%node[block, right = 1cm of A1] (A2) {$A_2$};
node[below = of A1] (a1) {{visible<2->{$a_1$}}};
node[below = of A2] (a2) {{visible<2->{$a_2$}}};
node[below = of A1] (a1) {$a_1$};
node[below = of A2] (a2) {$a_2$};
draw[->] (A1.south) (0,-0.3) -- (0, -1.3);
draw[->] (A2.south) (0,-0.3) -- (0, -1.3);
end{tikzpicture}
end{frame}
end{document}
но все, что я получаю, это:
Я получаю ошибки типа: «неизвестный тип наконечника стрелки «треугольник 45″», а также «неизвестный оператор «o» или «of» в (из A1). Я впервые использую Tikz, и я не очень разбираюсь в инструментах beamer, таких как onslide, only или visible. Я думаю, что мог бы создавать разные изображения, по одному для каждого кадра, а затем добавлять их с помощью includegraphics и pause , но было бы более практично, если бы мне удалось добиться того же результата, не создавая разные изображения. Любая помощь была бы очень признательна.
Ответ №1:
- загружайте свои библиотеки tikz в преамбулу, а не внутри фрейма
- вы можете использовать
overlay-beamer-styles
библиотеку для управления внешним видом узлов
documentclass{beamer}
usepackage{textcomp}
usepackage{tikz}
usetheme{Madrid}
usetikzlibrary{shapes,arrows, positioning, calc}
usetikzlibrary{overlay-beamer-styles}
tikzset{%
block/.style = {rounded corners, draw, thick, circle, minimum height = 3em,
minimum width = 3em, fill = yellow!50},
point/.style = {coordinate}, % Input
}
begin{document}
begin{frame}{}
begin{tikzpicture}[auto, thick, node distance=2cm, >=triangle 45]
node[block] (A1) at (0,0) {$A_1$};
node[block, right = 1cm of A1] (A2) {$A_2$};
node[below = of A1, visible on=<2->] (a1) {$a_1$};
node[below = of A2, visible on=<2->] (a2) {$a_2$};
draw[->] (A1.south) (0,-0.3) -- (0, -1.3);
draw[->] (A2.south) (0,-0.3) -- (0, -1.3);
end{tikzpicture}
end{frame}
end{document}
Комментарии:
1. А как насчет стрелок? Возможно ли заставить их отображаться вместе с a_1 и a_2?