0
307 次浏览

我希望页面底部的脚注编号显示在页边距中,这样如果有多个脚注,就更容易看出它们从哪里开始、到哪里结束,以及哪个编号对应哪个脚注。每个脚注都是一个独立的段落。

这似乎与诗歌中的“悬挂节号”(hanging verse number)选项直接类似。

由于其他原因,我将调用标记(caller marker)重新定义为 z_f_caller_bottom
这是一个开始:
\sethook{start}{z_f_caller_bottom}{\kern -13pt}
但很难让脚注的下一部分(即 \fr 引用)自动对齐到起始页边距。而且当脚注编号变成两位数时,它会将该引用编号推得太远,偏离了行内位置。

我也尝试过使用这里的代码片段进行实验,但还没有成功。

有没有其他方法可以实现这一点?

机器翻译自 English
PTXprint (1.9k 分) 发布 | 307 次浏览

2 个回答

0

更改脚注样式的“首行缩进”(first line indent)对您有用吗?您应该可以将其设置为负值,使其显示在页边距中。

机器翻译自 English
(9.9k 分) 发布

嗯,这是一种令人尴尬地更简单且更直观的方法,用来实现我通过 sethook 和负字距(negative kerning)所完成的完全相同的事情……

但这并没有解决我的问题,即当脚注编号从单位数变为双位数时,间距会混乱(即主脚注相对于页边距的位置)。

机器翻译自 English
0

您使用 sethook 的方法其实已经非常接近了,但您可能需要的不仅仅是字距调整(kern),而是将其放入一个盒子(box)中,然后使用 \llap,更像这样(未测试):

\sethook{start}{z_f_caller_bottom}{\setbox0\hbox\bgroup}
\sethook{end}{z_f_caller_bottom}{\egroup\llap{\box0\kern3pt}}

\llap 会将其内容向左推,使其不占用宽度(如果需要在右侧重叠内容,可以使用它的“朋友” \rlap),所以我试图做的是创建一个包含调用者(caller)的盒子,在其中添加 3pt 的空间(您可以自由选择其他数值),然后让所有内容悬挂在段落的左侧。希望它能起作用!

注意:\box0 是安全的,因为(在 .tex 文件中检查后)它实际上已经被用于获取调用者。(在定义 box0 的过程中临时使用 \box0 不会覆盖其他盒子。)

注意 2:注释和调用者之间的正常间距是 \kern\NoteCallerSpace
注意 3:llap 应该为您提供一个零宽度的盒子。如果您有非零宽度,那么结果将被居中到一个宽度为 \NoteCallerWidth 的盒子中,并跟随 NoteCallerSpace。这可能正是您想要的,也可能不是!

机器翻译自 English
(1.1k 分) 发布

谢谢。这非常有效。我猜测 \llap 可能会有帮助,但我无法弄清楚如何读取调用者(caller)的内容。我尝试使用 { },但这显然不起作用,而且我忘记了 \bgroup 和 \egroup。

为了更好地理解这一点:

  • box0 是变量的名称,而 \setbox0 将其值设置为调用者的内容吗?
  • 而且(我想你是这么说的),你选择那个特定的变量是因为它已经被用于调用者——所以你知道它不会与其他内容冲突。
  • 你是如何防止脚注调用者以正常方式处理的?是因为在 TeX 从 z_f_caller_bottom 的开始移动到结束的过程中,它位于 \bgroup 内部吗?
机器翻译自 English

要点 1a:(在内部)所有“出现在页面上但正在被操作”的 TeX 片段都是 \box 0....\box 65535。(或者 \box0 ....,在正常情况下,空格只是帮助人类阅读,但在某些情况下它实际上可能会导致错误)。

数字容易混淆,所以我们可以使用 \newbox\something 用标签(\something)替换数字,如果我们想永久保留它的话。\box 0\box9 被保留为未命名的临时盒子。其他各种盒子也被保留用于特殊功能。

单纯的 \box 0输出盒子的内容并清空定义。\copy 0 会输出盒子并保留定义。要定义内容,语法是 \setbox[number/label][some box],其中 [some box] 是 \hbox{contents}\vbox{contents}\box\copy

要点 2:我猜测 box0 作为通用临时盒子是安全的,然后我犹豫了一下并进行了检查。

要点 3 和 1b: 因为您使用 z_f_caller_bottom 作为注释调用者(note caller)样式,正文中的调用者和注释区域中的调用者(或被调用者)会被区别对待。

假设给定注释的相关被调用者(callee)是 ¤。在这种情况下通常发生的情况是,代码将 \box0 定义为(实际上是)\hbox{\+z_f_caller_bottom ¤\+z_f_caller_bottom*}(尽管它并没有实际生成那个确切的代码),然后它像处理任何被调用者一样处理该盒子:

  • 它测量该盒子的宽度,如果它是非零但窄于 \NoteCallerWidth,它会填充到该尺寸(以便对齐更整齐)。
  • 如果该结果是非零宽度,则添加 \NoteCallerSpace

我给你的代码被解释为在盒子内部应用字符样式,因此它实际上变成了:

\setbox0{\+z_f_caller_bottom
  \setbox0\bgroup 
  ¤ 
  \egroup\llap{box0 \kern 3pt}
\+z_f_caller_bottom*}

除了(a)如果你输入它,考虑到类别码(catcodes)、空格和其他危险且令人困惑的东西,它几乎肯定会出错,以及(b)钩子(hooks)实际上是在 z_f_caller 的开始和结束代码中间处理的。

机器翻译自 English

相关问题

+1
1 个回答 190 次浏览
我的问题:有时在正文中,按字母顺序自动生成的脚注引用符会打印在关键词末尾,从而与关键词结合成一个具有不同含义的新词 我想为读者提供一个视觉提示,让他们不要将关键词和脚注引用符读成一个词 我在打印时没有使用颜色的选项,只有黑 ... 始终格式化为斜体 ,并在其前面添加一些空格,以分隔关键词和脚注引用符? 在 PTXPrint 中,如何打印新的脚注引用符格式?
Y Mdu Niê 124 发布 提问于 一月 14
0
2 个回答 187 次浏览
大家好, 我正在处理一个项目,之前所有脚注标记都是手动添加的 现在,我们开始尝试使用 "/f +" 来标记脚注,以自动生成脚注标记 但是,我们在发布时希望脚注标记序列能按书重新开始 我在 Ptxprint 中尝试多卷出版 ... 新从 "a" 开始 text 我是刚开始研究 Ptxprint 和发布相关内容的,所以可能只是我遗漏了什么 谢谢, Aaron
PecanMango 112 发布 提问于 十一月 6, 2024
0
3 个回答 273 次浏览
我发现我的加粗关键词与脚注文本直接连在一起,而脚注文本总是以连字符开头,所以看起来像这样: 关键词- 一个在脚注文本中解释的词语 你可以看到连字符粘在关键词上,但那里应该有一个空格 PTX Print 中是否 ... 它,这不需要安装 Windows 版本,只需按照 Crossover 的说明安装 PTX Print 即可 目前看来运行正常,至少非常实用
joop 110 发布 提问于 九月 9, 2022
0
7 个回答 343 次浏览
一位用户在主标题末尾添加了一个脚注(但我发现如果脚注位于引言段落中,也会出现相同的行为。 当版式为单栏时,脚注显示在页面底部。然而,如果将版式更改为双栏,脚注则不会显示在页面底部。这种情况在 PTXprint 和 Paratext 导出为 PDF 时都会发生。有人知道为什么会这样吗?
Phil_Leckrone 9.9k 发布 提问于 八月 5, 2021
0
1 个回答 42 次浏览
你好!在 PTXprint 中,我想使用 悬挂式诗节号 (Hanging Poetry Verse Numbers)选项,因为它看起来更整洁 在单栏排版中这没问题 但当我尝试使用双栏并选择 中缝垂直线 (Vertical Rule in Gutter)时,双位 ... 想到的唯一其他选项是移除这条线,但在某些情况下这可能会让读者感到困惑 非常感谢!Phil
anon913937 124 发布 提问于 十一月 18, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
All the believers were one in heart and mind. No one claimed that any of their possessions was their own, but they shared everything they had.
Acts 4:32
3,049 个问题
6,007 个回答
5,673 条评论
2,029 位用户