我想将下面的单词预测居中对齐。如能得到任何帮助,我将不胜感激。
\documentclass[professionalfont, fleqn]{beamer}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning,fit,shapes.misc}
\begin{document}
\begin{frame}
\centering
\only<1>{%
\begin{tikzpicture}[
box/.style = {draw,rectangle,minimum size=1.0cm,text
width=1cm,align=center}
]
\matrix (conmat) [row sep=0cm,column sep=0cm,ampersand
replacement=\&] {
\node (tpos) [box,label=left:\( \mathbf{p'} \),label=above:\(
\mathbf{p} \),] {};
\& \node (fneg) [box,label=above:\textbf{n},] {$\checkmark$}; \\
\node (fpos) [box,label=left:\( \mathbf{n'} \),] {$\checkmark$};
\& \node (tneg) [box] {$\checkmark$}; \\
};
\node [left=.05cm of conmat,text width=1.5cm,align=center]
{\textbf{actual \\ value}};
\node [above=.05cm of conmat] {\textbf{prediction}};
\end{tikzpicture}%
}
\end{frame}
\end{document}
答案1
单词预测以矩阵为中心,因为它包含标签的行和列。
(Andrew Stacey 添加:见下图,额外的方块是矩阵的“边界框”,坐标(conmat)
位于该框的中心)
如果你想将中心prediction
与矩阵的中心线对齐,你可以使用类似
\node [above=.05cm of conmat.north-|tpos.east] {\textbf{prediction}};
conmat.north|-tpos.east
tpos.south
表示一条水平线与一条垂直线的交点conmat.north
。
您可以以类似的方式actual value
与矩阵水平分割线对齐:
\node [left=.05cm of conmat.west|-tpos.south,text width=1.5cm,align=center]{\textbf{actual \\ value}};
答案2
我认为,如果您要制作类似于这个的更复杂的结构,那么一点结构将会很有益......
\documentclass{beamer}
\usefonttheme{professionalfonts}
\usepackage{tikz}
\usetikzlibrary{positioning,matrix}
\begin{document}
\begin{frame}
\centering
\only<1>{%
\begin{tikzpicture}
\matrix (conmat) [
draw,
matrix of math nodes,
nodes in empty cells,
ampersand replacement=\&,
nodes={minimum size=1cm,outer sep=0,inner sep=0,anchor=center}
] {
\& \checkmark \\
\checkmark \& \checkmark \\
};
\draw (conmat.north) -- (conmat.south) (conmat.east) -- (conmat.west);
\node[above=2mm of conmat-1-1] {\(\mathbf{p}\)};
\node[left =2mm of conmat-1-1] {\(\mathbf{p'}\)};
\node[left =2mm of conmat-2-1] {\(\mathbf{p'}\)};
\node[above=2mm of conmat-1-2] {\textbf{n}};
\node [left= 4mm of conmat,text width=1.5cm,align=center] {\textbf{actual \\ value}};
\node [above=4mm of conmat] {\textbf{prediction}};
\end{tikzpicture}%
}
\end{frame}
\end{document}