ラテックスでは、コマンドを使用して新しいページを作成できます\newpage。Scribble でこれを直接行う方法はないようです (少なくとも PDF/Latex バックエンドではそうではありません)。
では、scribble を強制的にドキュメントの新しいページにするにはどうすればよいでしょうか?
はい、これは可能です。ただし、これは少し不格好であり、latex ファイル (または pdf ファイル) にレンダリングする場合にのみ機能します。これは Web ページには意味がないためです。私がこれをしなければならなかった元の方法は、LaTeXに行きました。ただし、これを完全に落書きのままにする方法があることがわかりました。どちらを好むかは明らかにコンテキストに依存するため、ここでは両方のオプションを示します。
これが機能する方法は、名前に文字列を含むスクリブルスタイルを使用することです。そうすることで、スタイルが LaTeX 環境またはコマンドに変わります (それを何に入れるかに応じて異なります)。この場合、コマンドが必要なので、element. 結果のコードは次のようになります。
(define (newpage)
(make-element (style "newpage" '())
'()))
これで、必要な場所で関数を使用できるようにnewpageなり、ラテックスは\newpage.
もう 1 つのオプションは、落書きファイルに生のラテックス コードを少し挿入することです。これを行うには、最初に次のようにファイルを作成する必要がありますtextstyle.tex。
\newcommand{\identity}[1]{#1}
ファイルの名前は問題ではなく、その中に他のコマンドが含まれていても問題ありません。これは、与えられた同じテキストに評価されるラテックス コマンドを作成するためのものです。
次に、落書きコードのどこかに、次の 2 つの関数を作成できます。
(define (exact . items)
(make-element (make-style "identity" '(exact-chars))
items))
(define (newpage)
(exact "\\newpage"))
最初の関数はexact、latex コードを挿入するために使用できる を定義します。これが機能するのexact-charsは、スタイルが文字をそのままラテックスに渡し、いかなる種類のプリプロセッサにも渡さないためです。identityラテックスにテキストを入れるための框が必要です。
次に、関数はラテックスにnewpage直接変換されます。コード内の必要な場所で(またはアット式を使用する場合は/として)\newpage呼び出すだけです。(newpage)@newpage[]@(newpage)
最後に、ファイルの場所を scribble に指示する必要がありtexstyle.texます。++stylescribble を実行しているときに、フラグを使用してそれを行うことができます。全体として、コマンドは次のようになります。
scribble --pdf ++style texstyle.tex mydocument.scrbl
さらに、latex/pdf だけでなく、任意のバックエンド用にドキュメントをコンパイルする場合は、cond-element. そうすれば、他のバックエンドで空の要素にすることができます:
(define (exact-latex . items)
(cond-element [latex
(make-element (make-style "identity" '(exact-chars))
items)]
[else ....]))
(define (newpage)
(exact-latex "\\newpage"))