在latex中,我可以使用\newpage
命令創建新頁面。似乎沒有任何方法可以直接在Scribble中執行此操作(至少不能用於PDF/Latex後端)。使用pdf/latex後端創建新頁面
那麼,如何強制塗鴉爲我的文檔創建新頁面?
在latex中,我可以使用\newpage
命令創建新頁面。似乎沒有任何方法可以直接在Scribble中執行此操作(至少不能用於PDF/Latex後端)。使用pdf/latex後端創建新頁面
那麼,如何強制塗鴉爲我的文檔創建新頁面?
是的,這是可行的。然而,它有點笨重,並且只在渲染到乳膠文件(或pdf文件)時才起作用,因爲這對於網頁沒有意義。我不得不這樣做的原始方式進入了LaTeX。但是,事實證明,有一種方法可以完全保留在塗鴉中。無論你喜歡什麼,顯然將取決於上下文,所以我已經把這兩個選項放在這裏。
其工作原理是利用塗鴉styles有其名的字符串。這樣做會將樣式轉換爲LaTeX環境或命令(具體取決於您將其放入的內容)。在我們的示例中,我們需要命令,因此我們將使用element
。生成的代碼看起來是這樣的:
(define (newpage)
(make-element (style "newpage" '())
'()))
現在,無論你想,你可以使用newpage
功能和乳膠將插入一個\newpage
。
另一種選擇是插入一個位的生膠乳代碼在你的塗鴉文件。要做到這一點,首先需要創建一個文件,說:textstyle.tex
,並在此文件中,提出:
\newcommand{\identity}[1]{#1}
該文件的名稱並不重要,如果有其它命令它也是精細。這只是創建一個乳膠命令,只是評估它給出的相同文本。
接下來,在你的塗鴉碼的地方,您可以創建以下兩個功能:
(define (exact . items)
(make-element (make-style "identity" '(exact-chars))
items))
(define (newpage)
(exact "\\newpage"))
第一個函數定義exact
,我們可以用它來插入乳膠代碼。這是有效的,因爲exact-chars
樣式將字符傳遞給latex逐字,並且不會通過任何類型的預處理器傳遞它。我們在這裏需要identity
stile,以便膠乳有東西可以放入文本。
newpage
函數然後直接轉換成乳膠中的\newpage
。只需在代碼中將它稱爲(newpage)
(或使用at-expressions時的@newpage[]
/@(newpage)
)。
最後,你需要告訴塗鴉在哪裏可以找到texstyle.tex
文件。運行塗鴉時,您可以使用++style
標誌來完成此操作。總之,您的命令應該是這個樣子:
scribble --pdf ++style texstyle.tex mydocument.scrbl
作爲一個額外的,如果你想要的文件編譯任何後端並不僅僅是乳膠/ PDF格式,你可以使用cond-element
。這樣你就可以讓它成爲任何其他後端的空元素:
(define (exact-latex . items)
(cond-element [latex
(make-element (make-style "identity" '(exact-chars))
items)]
[else ....]))
(define (newpage)
(exact-latex "\\newpage"))