我尝试了为“minipage 未居中”找到的六个解决方案,但都不起作用。也许 minipage 不是问题,我不确定。无论如何,我想让这个推导规则在 tikz 节点中居中:
我的代码:
\documentclass[]{article}
\usepackage{bussproofs}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[below, draw] {
\begin{minipage}{4em}
\scriptsize
\begin{prooftree}
\AxiomC{$A\land B$}
\UnaryInfC{$B$}
\end{prooftree}
\end{minipage}
};
\end{tikzpicture}
\end{document}
有什么建议或想法可以解决该问题吗?
答案1
无需使用minipage
和即可获得所需结果bussproofs
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[draw, text width=4em, align=center, font=\scriptsize] {
$\dfrac{A\land B}{B}$
};
\end{tikzpicture}
\end{document}
附录:对于bussproofs
非常必要的情况,可以帮助您解决以下肮脏的事情:
\documentclass[]{article}
\usepackage{bussproofs}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[below, draw, inner xsep=0pt, font=\scriptsize] {
\begin{minipage}{5em}% <--- (% sign had to be here)
\begin{prooftree}\hspace*{-1ex}% <--- (% sign had to be here)
\AxiomC{$A\land B$}
\UnaryInfC{$B$}
\end{prooftree}
\end{minipage}
};
\end{tikzpicture}
\end{document}
或者
\documentclass[]{article}
\usepackage{bussproofs}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[
pf/.style = {draw,
text width=#1,
align=center, inner xsep=0pt, font=\scriptsize}
]
\node[pf=5em] {\vspace*{-\baselineskip}
\begin{prooftree}\hspace*{-1ex}%
\AxiomC{$A\land B$}
\UnaryInfC{$B$}
\end{prooftree}
};
\end{tikzpicture}
\end{document}
两个例子都给出:
编辑:beamer
如果使用带有选项的 tikz 节点,则使用文档类,您应该fragile
向框架添加选项:
\documentclass{beamer}
\usepackage{bussproofs}
\usepackage{tikz}
\begin{document}
\begin{frame}[fragile]
\frametitle{centering bussproofs relation in tikz node}
\begin{tikzpicture}[
pf/.style = {draw,
text width=#1,
align=center, inner xsep=0pt, font=\scriptsize}
]
\node[pf=5em] {\vspace*{-\baselineskip}
\begin{prooftree}\hspace*{-1ex}%
\AxiomC{$A\land B$}
\UnaryInfC{$B$}
\end{prooftree}
};
\end{tikzpicture}
\end{frame}
\end{document}