在 tikz 中,可以定义一些格式并将其应用于 tikz 绘图的几个部分;例如使用:
\tikzset{boxs/.style={draw, very thick, black, rounded corners=5pt}}
我重复使用方程的一部分,如我的例子中的 (x_i - \bar{x})。
有没有办法为这个部分定义某些东西(作为宏或样式),并将其应用于其他位置,就像在 tikz 中一样。
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{equation*}
\beta = \frac{\displaystyle \sum_{i=1}^{n} (x_i - \bar{x}) (y_i - \bar{y})} {\displaystyle \sum_{i=1}^{n} (x_i - \bar{x})^2}
\end{equation*}
\vspace {.2cm}
\begin{equation*}
\displaystyle \sum_{i=1}^{n} (x_i - \bar{x})^2 = \displaystyle \sum_{i=1}^{n} (2 - 2)^2 = 0
\end{equation*}
\vspace {.2cm}
\begin{equation*}
\displaystyle \sum_{i=1}^{n} (x_i - \bar{x})\bar{x} = \bar{x}\displaystyle \sum_{i=1}^{n} (x_i - \bar{x}) = 0
\end{equation*}
\end{frame}
\end{document}
答案1
您只需将重复元素存储在宏中:
\newcommand{\RepeatingFormula}{(x_i - \bar{x})}
梅威瑟:
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\newcounter{repform}
\newcommand{\RepeatingFormula}{(x_i - \bar{x})}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{equation*}
\beta = \frac{\displaystyle \sum_{i=1}^{n} \RepeatingFormula (y_i - \bar{y})}{%
\displaystyle \sum_{i=1}^{n} \RepeatingFormula^2}
\end{equation*}
\vspace {.2cm}
\begin{equation*}
\displaystyle \sum_{i=1}^{n} \RepeatingFormula^2 = \displaystyle \sum_{i=1}^{n} (2 - 2)^2 = 0
\end{equation*}
\vspace {.2cm}
\begin{equation*}
\displaystyle \sum_{i=1}^{n} \RepeatingFormula\bar{x} = \bar{x}\displaystyle \sum_{i=1}^{n} \RepeatingFormula = 0
\end{equation*}
\end{frame}
\end{document}
如果您想添加框架,您可以例如使用tikz
和tikzmark
。
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\newcounter{repform}
\newcommand{\RepeatingFormula}{\stepcounter{repform}%
\tikzmarknode[draw=red,rounded corners=1pt]{repform-\number\value{repform}}{(x_i - \bar{x})}}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{equation*}
\beta = \frac{\displaystyle \sum_{i=1}^{n} \RepeatingFormula (y_i - \bar{y})}{%
\displaystyle \sum_{i=1}^{n} \RepeatingFormula^2}
\end{equation*}
\vspace {.2cm}
\begin{equation*}
\displaystyle \sum_{i=1}^{n} \RepeatingFormula^2 = \displaystyle \sum_{i=1}^{n} (2 - 2)^2 = 0
\end{equation*}
\vspace {.2cm}
\begin{equation*}
\displaystyle \sum_{i=1}^{n} \RepeatingFormula\bar{x} = \bar{x}\displaystyle \sum_{i=1}^{n} \RepeatingFormula = 0
\end{equation*}
\end{frame}
\end{document}
作为奖励,您可以将这些节点用于各种各样的事情。
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\newcounter{repform}
\newcommand{\RepeatingFormula}{\stepcounter{repform}%
\tikzmarknode[draw=red,rounded corners=1pt,inner ysep=2pt]{repform-\number\value{repform}}{(x_i - \bar{x})}}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{equation*}
\beta = \frac{\displaystyle \sum_{i=1}^{n} \RepeatingFormula (y_i - \bar{y})}{%
\displaystyle \sum_{i=1}^{n} \RepeatingFormula^2}
\end{equation*}
\vspace {.2cm}
\begin{equation*}
\displaystyle \sum_{i=1}^{n} \RepeatingFormula^2 = \displaystyle \sum_{i=1}^{n} (2 - 2)^2 = 0
\end{equation*}
\vspace {.2cm}
\begin{equation*}
\displaystyle \sum_{i=1}^{n} \RepeatingFormula\bar{x} = \bar{x}\displaystyle \sum_{i=1}^{n} \RepeatingFormula = 0
\end{equation*}
\begin{tikzpicture}[overlay,remember picture]
\draw[red,stealth-stealth](repform-2) to[out=-90,in=90] (repform-3);
\end{tikzpicture}
\end{frame}
\end{document}