如果我尝试通过将页面放大 3 行来将一棵大森林树塞进页面,我会得到下面的结果。树与页脚重叠。
下面是代码。有没有简单的方法可以将其塞进一页而不让它与页脚重叠?或者,有没有办法将它分成两页,而不需要我之前介绍的复杂技巧?
\documentclass[oneside,12pt]{article}
\usepackage{geometry}
\usepackage{microtype}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{enumitem}
\setlist[enumerate,1]{label=\bfseries\Alph*,align=left,leftmargin=*,
labelsep=1.5em}
\setlist[enumerate,2]{label=\arabic*.,labelindent=1em,labelsep=1.5em,
leftmargin=*}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem*{sol}{Solution}
\usepackage{forest}
\forestset{
ass/.append style={
before computing xy={l=\baselineskip},
no edge
},
prooftree/.style={
baseline,
for tree={
child anchor=north,
parent anchor=south
}
}
}
\begin{document}
\subsection*{Exercises 35}
\begin{enumerate}
\item Use \textbf{QL\textsuperscript{=}} trees to show the following inferences are valid:
\begin{enumerate}
\item Jack is Fingers. Fingers is never caught. Whoever is never caught
escapes justice. So Jack escapes justice.
\begin{sol}
\begin{forest}
prooftree
[{$j=f$}
[$\neg Cf$,ass
[$\forall x(\neg Cx\supset Ex)$,ass
[$\neg Ej$,ass
[$(\neg Cf\supset Ef)$,ass
[$\neg\neg Cf$ [*,ass]] [$Ef$
[$Ej$,ass [*,ass]]]]]]]]
\end{forest}
\end{sol}
\item There is a wise philosopher. There is a philosopher who isn’t wise.
So there are at least two philosophers.
\begin{sol}
\begin{forest}
prooftree
[$\exists x(Fx\wedge Gx)\checkmark$
[$\exists x(Fx\wedge\neg Gx)\checkmark$,ass
[{$\neg\exists x\exists y((Fx\wedge Fy)\wedge\neg x=y)\checkmark$},ass
[{$\forall x\neg\exists y((Fx\wedge Fy)\wedge\neg x=y)$},ass
[$(Fa\wedge Ga)\checkmark$,ass
[$(Fb\wedge\neg Gb)\checkmark$,ass
[$Fa$,ass
[$Ga$,ass
[$Fb$,ass
[$\neg Gb$,ass
[{$\neg\exists y((Fa\wedge Fy)\wedge\neg a=y)\checkmark$},ass
[{$\forall y\neg((Fa\wedge Fy)\wedge\neg a=y)$},ass
[{$\neg((Fa\wedge Fb)\wedge\neg a=b)\checkmark$},ass
[$\neg(Fa\wedge Fb)$
[$\neg Fa$ [*,ass]] [$\neg Fb$ [*,ass]]]
[{$\neg\neg a=b$}
[{$a=b$},ass
[$\neg Ga$,ass [*,ass]]]]]]]]]]]]]]]]]
\end{forest}
\end{sol}
\pagebreak
\item Whoever stole the goods, knew the safe combination. Someone
stole the goods, and only Jack knew the safe combination. Hence
Jack stole the goods.
\begin{sol}
\begin{forest}
prooftree
[$\forall x(Sx\supset Cx)$
[$\exists xSx\checkmark$,ass
[$\forall x(Cx\equiv x{=}j)$,ass
[$\neg Sj$,ass
[$Sa$,ass
[$(Sa\supset Ca)\checkmark$,ass
[$\neg Sa$ [*,ass]] [$Ca$
[$(Ca\equiv a{=}j)\checkmark$,ass
[$(Ca\supset a{=}j)\checkmark$,ass
[$(a{=}j\supset Ca)$,ass
[$\neg Ca$ [*,ass]] [$a{=}j$
[$\neg Sa$,ass [*,ass]]]]]]]]]]]]]
\end{forest}
\end{sol}
\item For every number, there’s a larger one. No number is larger than
itself. So for every number, there’s a distinct number which is
larger than it.
\begin{sol}
\begin{forest}
prooftree
[$\forall x\exists y(Lyx)$
[$\forall x\neg Lxx$,ass
[$\neg\forall x\exists y(Lyx\wedge\neg y{=}x)\checkmark$,ass
[$\exists x\neg\exists y(Lyx\wedge\neg y{=}x)\checkmark$,ass
[$\neg\exists y(Lya\wedge\neg y{=}a)\checkmark$,ass
[$\forall y\neg(Lya\wedge\neg y{=}a)$,ass
[$\exists yLya\checkmark$,ass
[$Lba$,ass
[$\neg(Lba\wedge\neg b{=}a)\checkmark$,ass
[$\neg Lba$ [*,ass]] [$\neg\neg b{=}a\checkmark$
[$b{=}a$,ass
[$Laa$,ass
[$\neg Laa$,ass [*,ass]]]]]]]]]]]]]]
\end{forest}
\end{sol}
\end{enumerate}
\pagebreak
\item Show that the following wffs are q-logical truths
\begin{enumerate}
\item $\forall x\forall y(x{=}y\supset(Fx\supset Fy))$
\item $\forall y\forall z(y{=}z\supset(\forall x(Lxy\wedge Fy)\supset
\forall x(Lxz\wedge Fz)))$
\end{enumerate}
Thinking about the structure of these proofs, conclude that each way of filling out
the following schema from §33.1 does indeed yield a q-logical truth:
\begin{enumerate}
\item[(LS)] $\forall v\forall w(v=w\supset(C(\ldots v\ldots v\ldots)\supset
C(\ldots w\ldots w\ldots)))$
\end{enumerate}
\begin{sol}
\leavevmode
\begin{enumerate}
\item $\forall x\forall y(x{=}y\supset(Fx\supset Fy))$
\begin{forest}
prooftree
[$\neg\forall x\forall y(x{=}y\supset(Fx\supset Fy))\checkmark$
[$\exists x\neg\forall y(x{=}y\supset(Fx\supset Fy))\checkmark$,ass
[$\neg\forall y(a{=}y\supset(Fa\supset Fy))\checkmark$,ass
[$\exists y\neg(a{=}y\supset(Fa\supset Fy))\checkmark$,ass
[$\neg(a{=}b\supset(Fa\supset Fb))$,ass
[$a{=}b$,ass
[$\neg(Fa\supset Fb)\checkmark$,ass
[$Fa$,ass
[$\neg Fb$,ass
[$Fb$,ass [*,ass]]]]]]]]]]]
\end{forest}
\enlargethispage{4\baselineskip}
\item $\forall y\forall z(y{=}z\supset(\forall x(Lxy\wedge Fy)\supset
\forall x(Lxz\wedge Fz)))$
\begin{forest}
prooftree
[$\neg\forall y\forall z(y{=}z\supset(\forall x(Lxy\wedge Fy)\supset
\forall x(Lxz\wedge Fz)))\checkmark$
[$\exists y\neg\forall z(y{=}z\supset(\forall x(Lxy\wedge Fy)\supset
\forall x(Lxz\wedge Fz)))\checkmark$,ass
[$\neg\forall z(a{=}z\supset(\forall x(Lxa\wedge Fa)\supset
\forall x(Lxz\wedge Fz)))\checkmark$,ass
[$\exists z\neg(a{=}z\supset(\forall x(Lxa\wedge Fa)\supset
\forall x(Lxz\wedge Fz)))\checkmark$,ass
[$\neg(a{=}b\supset(\forall x(Lxa\wedge Fa)\supset
\forall x(Lxb\wedge Fb)))\checkmark$,ass
[$a{=}b$,ass
[$\neg(\forall x(Lxa\wedge Fa)\supset\forall x(Lxb\wedge Fb))\checkmark$,ass
[$\forall x(Lxa\wedge Fa)$,ass
[$\neg\forall x(Lxb\wedge Fb)\checkmark$,ass
[$\exists x\neg(Lxb\wedge Fb)\checkmark$,ass
[$\neg(Lcb\wedge Fb)$,ass
[$(Lca\wedge Fa)\checkmark$,ass
[$Lca$,ass
[$Fa$,ass
[$\neg Lcb$
[$Lcb$,ass [*,ass]]]
[$\neg Fb$
[$Fb$,ass [*,ass]]]]]]]]]]]]]]]]]
\end{forest}
\end{enumerate}
\end{sol}
\end{enumerate}
\end{document}
答案1
您可以使用\small
来使内容变小(但更难阅读:-)或使用\thspagestyle{empty}
来丢失页码,但假设您不想这样做,您可以使用空白来使内容(几乎)适合。
这里我使用\enlargethispage*
而不是\enlaregethispage
这样空白尽可能缩小,然后使用选项调整枚举周围的空白enumitem
。
\documentclass[oneside,12pt]{article}
\usepackage{geometry}
\usepackage{microtype}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{enumitem}
\setlist[enumerate,1]{label=\bfseries\Alph*,align=left,leftmargin=*,
labelsep=1.5em}
\setlist[enumerate,2]{label=\arabic*.,labelindent=1em,labelsep=1.5em,
leftmargin=*}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem*{sol}{Solution}
\usepackage{forest}
\forestset{
ass/.append style={
before computing xy={l=\baselineskip},
no edge
},
prooftree/.style={
baseline,
for tree={
child anchor=north,
parent anchor=south
}
}
}
\begin{document}
\subsection*{Exercises 35}
\begin{enumerate}
\item Use \textbf{QL\textsuperscript{=}} trees to show the following inferences are valid:
\begin{enumerate}
\item Jack is Fingers. Fingers is never caught. Whoever is never caught
escapes justice. So Jack escapes justice.
\begin{sol}
\begin{forest}
prooftree
[{$j=f$}
[$\neg Cf$,ass
[$\forall x(\neg Cx\supset Ex)$,ass
[$\neg Ej$,ass
[$(\neg Cf\supset Ef)$,ass
[$\neg\neg Cf$ [*,ass]] [$Ef$
[$Ej$,ass [*,ass]]]]]]]]
\end{forest}
\end{sol}
\item There is a wise philosopher. There is a philosopher who isn’t wise.
So there are at least two philosophers.
\begin{sol}
\begin{forest}
prooftree
[$\exists x(Fx\wedge Gx)\checkmark$
[$\exists x(Fx\wedge\neg Gx)\checkmark$,ass
[{$\neg\exists x\exists y((Fx\wedge Fy)\wedge\neg x=y)\checkmark$},ass
[{$\forall x\neg\exists y((Fx\wedge Fy)\wedge\neg x=y)$},ass
[$(Fa\wedge Ga)\checkmark$,ass
[$(Fb\wedge\neg Gb)\checkmark$,ass
[$Fa$,ass
[$Ga$,ass
[$Fb$,ass
[$\neg Gb$,ass
[{$\neg\exists y((Fa\wedge Fy)\wedge\neg a=y)\checkmark$},ass
[{$\forall y\neg((Fa\wedge Fy)\wedge\neg a=y)$},ass
[{$\neg((Fa\wedge Fb)\wedge\neg a=b)\checkmark$},ass
[$\neg(Fa\wedge Fb)$
[$\neg Fa$ [*,ass]] [$\neg Fb$ [*,ass]]]
[{$\neg\neg a=b$}
[{$a=b$},ass
[$\neg Ga$,ass [*,ass]]]]]]]]]]]]]]]]]
\end{forest}
\end{sol}
\pagebreak
\item Whoever stole the goods, knew the safe combination. Someone
stole the goods, and only Jack knew the safe combination. Hence
Jack stole the goods.
\begin{sol}
\begin{forest}
prooftree
[$\forall x(Sx\supset Cx)$
[$\exists xSx\checkmark$,ass
[$\forall x(Cx\equiv x{=}j)$,ass
[$\neg Sj$,ass
[$Sa$,ass
[$(Sa\supset Ca)\checkmark$,ass
[$\neg Sa$ [*,ass]] [$Ca$
[$(Ca\equiv a{=}j)\checkmark$,ass
[$(Ca\supset a{=}j)\checkmark$,ass
[$(a{=}j\supset Ca)$,ass
[$\neg Ca$ [*,ass]] [$a{=}j$
[$\neg Sa$,ass [*,ass]]]]]]]]]]]]]
\end{forest}
\end{sol}
\item For every number, there’s a larger one. No number is larger than
itself. So for every number, there’s a distinct number which is
larger than it.
\begin{sol}
\begin{forest}
prooftree
[$\forall x\exists y(Lyx)$
[$\forall x\neg Lxx$,ass
[$\neg\forall x\exists y(Lyx\wedge\neg y{=}x)\checkmark$,ass
[$\exists x\neg\exists y(Lyx\wedge\neg y{=}x)\checkmark$,ass
[$\neg\exists y(Lya\wedge\neg y{=}a)\checkmark$,ass
[$\forall y\neg(Lya\wedge\neg y{=}a)$,ass
[$\exists yLya\checkmark$,ass
[$Lba$,ass
[$\neg(Lba\wedge\neg b{=}a)\checkmark$,ass
[$\neg Lba$ [*,ass]] [$\neg\neg b{=}a\checkmark$
[$b{=}a$,ass
[$Laa$,ass
[$\neg Laa$,ass [*,ass]]]]]]]]]]]]]]
\end{forest}
\end{sol}
\end{enumerate}
\pagebreak
\item Show that the following wffs are q-logical truths
\begin{enumerate}[topsep=0pt]
\item $\forall x\forall y(x{=}y\supset(Fx\supset Fy))$
\item $\forall y\forall z(y{=}z\supset(\forall x(Lxy\wedge Fy)\supset
\forall x(Lxz\wedge Fz)))$
\end{enumerate}
Thinking about the structure of these proofs, conclude that each way of filling out
the following schema from §33.1 does indeed yield a q-logical truth:
\begin{enumerate}[topsep=0pt]
\item[(LS)] $\forall v\forall w(v=w\supset(C(\ldots v\ldots v\ldots)\supset
C(\ldots w\ldots w\ldots)))$
\end{enumerate}
\begin{sol}
\leavevmode
\begin{enumerate}[topsep=0pt,itemindent=-75pt]
\item $\forall x\forall y(x{=}y\supset(Fx\supset Fy))$
\begin{forest}
prooftree
[$\neg\forall x\forall y(x{=}y\supset(Fx\supset Fy))\checkmark$
[$\exists x\neg\forall y(x{=}y\supset(Fx\supset Fy))\checkmark$,ass
[$\neg\forall y(a{=}y\supset(Fa\supset Fy))\checkmark$,ass
[$\exists y\neg(a{=}y\supset(Fa\supset Fy))\checkmark$,ass
[$\neg(a{=}b\supset(Fa\supset Fb))$,ass
[$a{=}b$,ass
[$\neg(Fa\supset Fb)\checkmark$,ass
[$Fa$,ass
[$\neg Fb$,ass
[$Fb$,ass [*,ass]]]]]]]]]]]
\end{forest}
\enlargethispage*{4\baselineskip}
\item $\forall y\forall z(y{=}z\supset(\forall x(Lxy\wedge Fy)\supset
\forall x(Lxz\wedge Fz)))$
\begin{forest}
prooftree
[$\neg\forall y\forall z(y{=}z\supset(\forall x(Lxy\wedge Fy)\supset
\forall x(Lxz\wedge Fz)))\checkmark$
[$\exists y\neg\forall z(y{=}z\supset(\forall x(Lxy\wedge Fy)\supset
\forall x(Lxz\wedge Fz)))\checkmark$,ass
[$\neg\forall z(a{=}z\supset(\forall x(Lxa\wedge Fa)\supset
\forall x(Lxz\wedge Fz)))\checkmark$,ass
[$\exists z\neg(a{=}z\supset(\forall x(Lxa\wedge Fa)\supset
\forall x(Lxz\wedge Fz)))\checkmark$,ass
[$\neg(a{=}b\supset(\forall x(Lxa\wedge Fa)\supset
\forall x(Lxb\wedge Fb)))\checkmark$,ass
[$a{=}b$,ass
[$\neg(\forall x(Lxa\wedge Fa)\supset\forall x(Lxb\wedge Fb))\checkmark$,ass
[$\forall x(Lxa\wedge Fa)$,ass
[$\neg\forall x(Lxb\wedge Fb)\checkmark$,ass
[$\exists x\neg(Lxb\wedge Fb)\checkmark$,ass
[$\neg(Lcb\wedge Fb)$,ass
[$(Lca\wedge Fa)\checkmark$,ass
[$Lca$,ass
[$Fa$,ass
[$\neg Lcb$
[$Lcb$,ass [*,ass]]]
[$\neg Fb$
[$Fb$,ass [*,ass]]]]]]]]]]]]]]]]]
\end{forest}
\end{enumerate}
\end{sol}
\end{enumerate}
\end{document}