beamerで\matrixを使う方法
beamerで\matrixを使うと,&のせいでエラーがでる.
まず解決法
以下のどちらかで解決する.
1. tikzのオプションで&を\&などに置き換えること.
2. &を使わずに,直接\pgfmatrixnextcellと書くこと.
TeXソースもどうぞ.
\documentclass[xcolor=svgnames]{beamer}
\usepackage{tikz}
% &の代わりに\&を使うように設定
\tikzstyle{every picture}+=[ampersand replacement=\&]
\begin{document}
\begin{frame}
\centering
% &の代わりに\&を使う
\begin{tikzpicture}
\matrix {
\node {a}; \& \node {b}; \\
\node {c}; \& \node {d}; \\
};
\end{tikzpicture}
% \pgfmatrixnextcell をそのまま書いてもいい
\begin{tikzpicture}
\matrix {
\node {e}; \pgfmatrixnextcell \node {f}; \\
\node {g}; \pgfmatrixnextcell \node {h}; \\
};
\end{tikzpicture}
% &を使うとエラー
% \begin{tikzpicture}
% \matrix {
% \node {a}; & \node {b}; \\
% \node {c}; & \node {d}; \\
% };
% \end{tikzpicture}
\end{frame}
\end{document}
なんでこれで解決するの?
そもそも\matrixで使われるのは\pgfmatrixnextcellであり,これが文字「&」に対応付けられている.tikzがこの二つの対応付けをしているが,beamerではこの対応付けがうまくいかないので,\pgfmatrixnextcellを直接打つか,\pgfmatrixnextcellに&以外の文字を対応させると解決する.
pgfマニュアルのp.321で説明されています.
お役に立ったらスキしてください. サポートは投稿を続けるモチベーションになります. ありがとうございます.