我尝试latex
在 Beamer 演示文稿的 Tikz 环境中添加两个变量,但不起作用。下面是我得到的示例:i+j=4+17
而不是i+j=21
:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\setbeamertemplate{footline}[frame number]{}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamertemplate{frametitle}[default][center]
\begin{document}
\title{Some Title}
\author{greatest author out there}
\frame{\titlepage}
\begin{frame}
\frametitle{Adding two integers}
\begin{tikzpicture}
\def \i {4}
\def \j {17}
\draw (0,0) node{\tiny{i+j = \i+\j}};
\end{tikzpicture}
\end{frame}
\end{document}
答案1
只需使用\the\numexpr\i+\j
。无论你是否加载了 Ti,这都可以工作钾Z。(并使用数学模式和\scriptstyle
而不是\tiny
。)
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\setbeamertemplate{footline}[frame number]{}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamertemplate{frametitle}[default][center]
\begin{document}
\title{Some Title}
\author{greatest author out there}
\frame{\titlepage}
\begin{frame}
\frametitle{Adding two integers}
\begin{tikzpicture}
\def \i {4}
\def \j {17}
\draw (0,0) node{$\scriptstyle i+j =\the\numexpr\i+\j$};
\end{tikzpicture}
\end{frame}
\end{document}
答案2
尝试一下这个方法:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\setbeamertemplate{footline}[frame number]{}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamertemplate{frametitle}[default][center]
\begin{document}
\title{Some Title}
\author{greatest author out there}
\frame{\titlepage}
\begin{frame}
\frametitle{Adding two integers}
\begin{tikzpicture}
\def \i {4}
\def \j {17}
\pgfmathtruncatemacro\ij{\i+\j}
\draw (0,0) node{\tiny i+j = \ij};
\end{tikzpicture}
\end{frame}
\end{document}
你必须tikz/pgf
先告诉计算结果...这就是\pgfmathtruncatemacro
这里所做的。
附注:另请参阅\pgfmathsetmacro
答案3
tikz 不知道你想要总和,你需要告诉它\pgfmathparse
\tiny{...}
是错误的。应该是{\tiny ...}
,但最好使用 tikz 键font=\tiny
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\setbeamertemplate{footline}[frame number]{}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamertemplate{frametitle}[default][center]
\begin{document}
\title{Some Title}
\author{greatest author out there}
\frame{\titlepage}
\begin{frame}
\frametitle{Adding two integers}
\begin{tikzpicture}
\def \i {4}
\def \j {17}
\draw (0,0) node[font=\tiny] {i+j =\pgfmathparse{\i+\j}\pgfmathresult };
\end{tikzpicture}
\end{frame}
\end{document}
答案4
我建议使用\pgfmathsetmacro
;和(非常灵活的)节点选项[scale=5]
、[scale=.5]
等来代替\tiny
。
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\frametitle{Adding two integers}
\begin{tikzpicture}
\def\i{4}
\def\j{17}
\pgfmathsetmacro{\s}{int(\i+\j)}
\path (0,0) node[scale=5]{$i+j=\s$};
\end{tikzpicture}
\end{frame}
\end{document}