2016-08-23 8 views

答えて

2

はい、これは実行可能です。しかし、ラッキーなファイル(またはpdfファイル)にレンダリングするときにのみ、ちょっとぎこちないですが、これはウェブページに意味をなさないためです。私がこれをやらなければならなかった元の方法はLaTeXに入った。しかし、このことを完全に落書きで行う方法があります。あなたが好む方が明らかに文脈に依存することになるので、私はここに両方の​​オプションを入れました。

オプション1:全く落書きオプション

でこれが機能する方法は、その名の文字列で落書きstylesを使用することです。そうすることで、スタイルをLaTeXの環境やコマンドに置き換えます(ここに何を入れるかによって決まります)。私たちの場合、コマンドが必要なので、elementを使用します。

(define (newpage) 
    (make-element (style "newpage" '()) 
       '())) 

今あなたが好きな場所あなたがnewpage機能を使用することができますし、ラテックスが\newpageを挿入します:結果のコードは次のようになります。

オプション2:挿入生ラテックス:

他のオプションは、あなたの走り書きファイルに生ラテックスコードのビットを挿入することです。 textstyle.texを、このファイルに、置く:これを行うには、あなたが最初のファイルを作成する必要があり、言う

\newcommand{\identity}[1]{#1} 

は、ファイルの名前は重要ではありませんし、それが他のコマンドを持っている場合、それはあまりにもあるで良い。これは、与えられたテキストと同じテキストだけを評価するlatexコマンドを作成することです。

次に、どこかにあなたの落書きのコードでは、あなたは次の2つの関数を作成することができます。

(define (exact . items) 
    (make-element (make-style "identity" '(exact-chars)) 
       items)) 

(define (newpage) 
    (exact "\\newpage")) 

を第一の機能は、我々は、ラテックスコードを挿入するために使用することができますexactを、定義されています。これは、exact-charsのスタイルでは文字をそのままラテックスに渡し、プリプロセッサを通さないためです。ここにidentityスタイルが必要です。ラテックスにテキストを入れるものがあるようにしてください。

newpageは、ラテックスで直接\newpageに翻訳されています。あなたのコード内で、(newpage)(またはat式を使用する場合は@newpage[]/@(newpage))としてください。

最後に、ファイルの場所を不規則に指示する必要があります。落書きを実行するときに++styleフラグを使用してこれを行うことができます。あなたはドキュメントが任意のバックエンドだけでなく、ラテックス/ PDF用にコンパイルしたい場合は、cond-elementを使用することができ、余分のよう

scribble --pdf ++style texstyle.tex mydocument.scrbl 

:要するに、あなたのコマンドは次のようになります。そうすれば、他のバックエンドの空の要素にすることができます。

(define (exact-latex . items) 
    (cond-element [latex 
        (make-element (make-style "identity" '(exact-chars)) 
           items)] 
       [else ....])) 

(define (newpage) 
    (exact-latex "\\newpage")) 
関連する問題