![ebproof 和 Gentzen 风格的证明:如何局部改变分支的水平分离?](https://linux22.com/image/457039/ebproof%20%E5%92%8C%20Gentzen%20%E9%A3%8E%E6%A0%BC%E7%9A%84%E8%AF%81%E6%98%8E%EF%BC%9A%E5%A6%82%E4%BD%95%E5%B1%80%E9%83%A8%E6%94%B9%E5%8F%98%E5%88%86%E6%94%AF%E7%9A%84%E6%B0%B4%E5%B9%B3%E5%88%86%E7%A6%BB%EF%BC%9F.png)
包裹ebproof
是一种写作方式Gentzen 风格的形式化证明在 LaTeX 中。例如,使用 可以完成以下操作ebproof
:
当然,蓝色轮廓是后来添加的。
问:如何将图中蓝色圆圈内的分支向左移动/移动?两个主分支之间的水平间距太长。我想更改仅此一家水平间距。使用选项“separation=1em”会全局更改间距,但在本例中这不是一个选项(会导致右侧分支上半部分重叠)。
- 它应该是一个“刚性变换”,即应该保留其他尺寸、长度和角度。
- 当右侧分支向左移动时,下方的推理线应该相应“缩放”(缩短)。
- 理想情况下,当代码包装在里面时,解决方案仍然有效,
sidewaysfigure
如下面的 MWE 所示(取消注释适当的行和包)。
\documentclass{book}
\usepackage{amsmath}
\usepackage{ebproof} %for Gentzen-style proofs
\ebproofset{right label template=\scriptsize\inserttext}
%\usepackage{rotating} %for sidewaysfigure
%\usepackage[a4paper]{geometry}
\begin{document}
%\begin{sidewaysfigure}
\footnotesize
\[ \begin{prooftree}[separation=1em]
\hypo {A} %left-hand branch leaf
\infer1[\tiny \text{(rule)}]{A} %left-hand branch node
\hypo {ABCDEFGHIJKLMNOPQRTUVWXYZ} %right-hand branch leaf
\infer1[\tiny \text{(rule)}]{ABCDEFGHIJKL} %right-hand branch node
\hypo {0123456789ABCDEFGHIJKLMNOPQRTUVWXYZ} %right-hand branch leaf
\infer2[\tiny \text{(rule)}]{ABCDEFGHIJKL} %right-hand branch node
\infer1[\tiny \text{(rule)}]{A} %right-hand branch node
\infer1[\tiny \text{(rule)}]{A} %right-hand branch node
\infer1[\tiny \text{(rule)}]{A} %right-hand branch node
\infer2[\tiny \text{(rule)}]{ABC} %root
\end{prooftree} \]
%\end{sidewaysfigure}
\end{document}
答案1
您可以separation
通过将选项作为选项插入到相关\infer
宏中,将其插入表示参数数的数字之前(例如),来本地更改选项\infer[separation=1em]1{X}
。无论旋转和放置如何,这都可以正常工作。在您的例子中,为了将右树移到左树上,您可以对使用负值separation
。
您可能希望right label template=\tiny\inserttext
在任何地方都设置字体大小,而不是覆盖字体大小。此外,如果您想将图表居中,最好使用\centering
而不是某些这里不需要的数学模式构造。
\documentclass{book}
\usepackage[a4paper]{geometry}
\usepackage{rotating} %for sidewaysfigure
\usepackage{amsmath}
\usepackage{ebproof} %for Gentzen-style proofs
\ebproofset{right label template=\tiny\inserttext}
\begin{document}
\begin{sidewaysfigure}
\footnotesize\centering
\begin{prooftree}[separation=1em]
\hypo {A} %left-hand branch leaf
\infer1[\text{(rule)}]{A} %left-hand branch node
\hypo {ABCDEFGHIJKLMNOPQRTUVWXYZ} %right-hand branch leaf
\infer1[\text{(rule)}]{ABCDEFGHIJKL} %right-hand branch node
\hypo {0123456789ABCDEFGHIJKLMNOPQRTUVWXYZ} %right-hand branch leaf
\infer2[\text{(rule)}]{ABCDEFGHIJKL} %right-hand branch node
\infer1[\text{(rule)}]{A} %right-hand branch node
\infer1[\text{(rule)}]{A} %right-hand branch node
\infer1[\text{(rule)}]{A} %right-hand branch node
\infer[separation=-4em]2[\text{(rule)}]{ABC} %root
\end{prooftree}
\end{sidewaysfigure}
\end{document}