gpt4 book ai didi

pdf - 使用 pdf/latex 后端在 scribble 中创建一个新页面

转载 作者:行者123 更新时间:2023-12-01 16:23:09 25 4
gpt4 key购买 nike

在 Latex 中,我可以使用 \newpage 命令创建一个新页面。似乎没有任何方法可以直接在 Scribble 中执行此操作(至少对于 PDF/Latex 后端没有。)

那么,我如何强制 scribble 为我的文档创建新页面?

最佳答案

是的,这是可行的。然而,它有点笨拙,并且仅在呈现为 latex 文件(或 pdf 文件)时有效,因为这对网页没有意义。我必须这样做的原始方法进入了 LaTeX。然而,事实证明有一种方法可以完全保持在涂鸦中。无论您喜欢哪个,显然都取决于上下文,因此我将两个选项都放在这里。

选项 1:完全在涂鸦选项中

它的工作方式是使用涂鸦 styles用一个字符串作为它的名字。这样做会将样式转换为 LaTeX 环境或命令(取决于您放入的内容。)在我们的例子中,我们需要一个命令,因此我们将使用 element。 .生成的代码将如下所示:

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

现在您可以在任何地方使用 newpage 函数,latex 将插入一个 \newpage

选项 2:插入生 latex :

另一种选择是在涂鸦文件中插入一些原始 latex 代码。为此,您首先需要创建一个文件,例如:textstyle.tex,并在该文件中放入:

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

文件的名称无关紧要,如果其中包含其他命令也可以。这只是为了创建一个 latex 命令,该命令仅评估其给定的相同文本。

接下来,在您的涂鸦代码中的某处,您可以创建以下两个函数:

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

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

第一个函数定义了exact,我们可以用它来插入 latex 代码。这是有效的,因为 exact-chars 样式将字符逐字传递到 latex 中,并且不会通过任何类型的预处理器传递。我们在这里需要 identity 阶梯,这样 latex 就有东西可以放入文本。

newpage 函数然后在latex 中直接翻译成\newpage。只需在代码中将其称为 (newpage) (或 @newpage[]/@(newpage) 使用 at 表达式时).

最后,您需要告诉 scribble 在哪里可以找到 texstyle.tex 文件。您可以在运行 scribble 时使用 ++style 标志来做到这一点。总之,您的命令应该类似于:

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"))

关于pdf - 使用 pdf/latex 后端在 scribble 中创建一个新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39108504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com