大きな森の木を 1 ページに詰め込んだり、2 ページに分割したりする簡単な方法はありますか?

大きな森の木を 1 ページに詰め込んだり、2 ページに分割したりする簡単な方法はありますか?

ページを 3 行拡大して大きな森の木をページに詰め込もうとすると、以下のような結果になります。木がフッターと重なっています。

ここに画像の説明を入力してください

以下はコードです。フッターと重ならないようにページに詰め込む簡単な方法はありますか? または、以前紹介した複雑なトリックを使わずに 2 つのページに分割する方法はありますか?

\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}

関連情報