有没有简单的方法可以将一棵大森林树塞进一页或分成两页?

有没有简单的方法可以将一棵大森林树塞进一页或分成两页?

如果我尝试通过将页面放大 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}

相关内容