在 Tikz beamer 中添加两个 latex 变量

在 Tikz beamer 中添加两个 latex 变量

我尝试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}

相关内容