由于某种原因,此代码不起作用,但我不知道为什么:
\documentclass[pdf]{beamer}
\usepackage{amsmath}
\usepackage{enumerate}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{upgreek}
\usepackage{textcomp}
\usepackage{extarrow}
\usepackage{fontenc,mathtext}
\usepackage{todonotes}
\usepackage{mathrsfs}
\usetikzlibrary{matrix,arrows}
\usetikzlibrary{chains}
\tikzset{join/.code=\tikzset{after node path={%
\ifx\tikzchainprevious\pgfutil@empty\else(\tikzchainprevious)%
edge[every join]#1(\tikzchaincurrent)\fi}}}
\tikzset{>=stealth',every on chain/.append style={join},every join/.style={->}}
[...]
\hypersetup{pdfpagemode=FullScreen}
\usecolortheme{progressbar}
\usefonttheme{progressbar}
\useinnertheme{progressbar}
\useoutertheme{progressbar}
\usepackage{pgf}
\usepackage{fancybox}
\usetikzlibrary{mindmap,trees,arrows}
[...]
\begin{document}
\frame{
\[
\begin{tikzpicture}[>=angle 90]
\matrix(a)[matrix of math nodes,
row sep=2.5em, column sep=2.5em,
text height=1.5ex, text depth=0.20ex]
{\bigwedge^2 S^m&S^m&S&0\\
F_2&F_1&S&0\\};
\path[->](a-1-1) edge (a-1-2);
\path[->](a-1-2) edge (a-1-3);
\path[->](a-1-3) edge (a-1-4);
\path[->](a-2-1) edge (a-2-2);
\path[->](a-2-2) edge (a-2-3);
\path[->](a-2-3) edge (a-2-4);
\path[->](a-1-1) edge node[auto] {$\gamma$}(a-2-1);
\path[->](a-1-2) edge node[auto] {$\cong$}(a-2-2);
\path[->](a-1-3) edge node[auto] {$id$}(a-2-3);
\path[->](a-2-3) edge (a-1-3);
\end{tikzpicture}
\]
}
知道为什么它不起作用吗?
答案1
我没有专门针对您的示例进行尝试,因此我不确定它是否有效。但是我记得在使用 tikz 和矩阵时遇到过类似的问题。我所做的是向矩阵添加一个选项:
ampersand replacement=\&
然后按如下方式替换我的每一段代码:
\matrix[row sep=0.01cm,column sep=0.5cm,ampersand replacement=\&] {
\&
\node (A) [tree] {$\mathbf{A}$}; \&
\&
\\
\node (v0) [state] {$v_{src};v'_{src})$}; \&
\&
\node (vn) [state] {$(v_{snk};v'_{snk})$}; \&
\\
\&
\node (B) [tree] {$\mathbf{B}$}; \&
\&
\\
}
希望对您有所帮助。抱歉,我没有太多时间专门检查您的问题。
答案2
TikZ 的命令\matrix
会更改 catcode &
,因此不允许将其作为另一个宏\frame
或伪环境的参数{frame}
。可以使用来修复此问题\begin{frame}[fragile] .. \end{frame}
。它确保所有 catcode 更改(对于逐字模式等)都能正常工作。
作品:
\begin{frame}[fragile]
\[
\begin{tikzpicture}[>=angle 90]
\matrix(a)[matrix of math nodes,
row sep=2.5em, column sep=2.5em,
text height=1.5ex, text depth=0.20ex]
{\bigwedge^2 S^m&S^m&S&0\\
F_2&F_1&S&0\\};
\path[->](a-1-1) edge (a-1-2);
\path[->](a-1-2) edge (a-1-3);
\path[->](a-1-3) edge (a-1-4);
\path[->](a-2-1) edge (a-2-2);
\path[->](a-2-2) edge (a-2-3);
\path[->](a-2-3) edge (a-2-4);
\path[->](a-1-1) edge node[auto] {$\gamma$}(a-2-1);
\path[->](a-1-2) edge node[auto] {$\cong$}(a-2-2);
\path[->](a-1-3) edge node[auto] {$id$}(a-2-3);
\path[->](a-2-3) edge (a-1-3);
\end{tikzpicture}
\]
\end{frame}