用俄语输入法语引号:最正确的方法是什么

用俄语输入法语引号:最正确的方法是什么

据我所知,LaTeX 本身提供了以下方式:<<quoted text>>。但是,俄语 babel 包也提供了这种方式:"<quoted text">。它们在输出文档中看起来相同,但第一种在源代码中看起来更漂亮,更容易输入,但在使用时第二种方式似乎更正确babel(或者为什么甚至存在)。有人可以解释和"<之间的区别吗?有没有文档解释俄语的所有语言特定序列(例如连字符、引号和破折号,以开头)以及它们究竟如何影响这些标点符号的外观?<<"<"

答案1

没有任何区别。russianb.ldf我们发现

\declare@shorthand{russian}{"<}{\guillemotleft}
\declare@shorthand{russian}{">}{\guillemotright}

这意味着简写"<">分别翻译成\guillemotleft\guillemotright

当使用俄语时,输出编码是T2A,t2aenc.def我们发现

\DeclareTextSymbol{\guillemotleft}{\LastDeclaredEncoding}{190}
\DeclareTextSymbol{\guillemotright}{\LastDeclaredEncoding}{191}

其基本含义是:\guillemotleft排版当前字体 190 号插槽中的字符;对于 也类似\guillemotright

让我们看看使用 T2A 编码字体会发生什么情况;默认字体larm1000

tftopl larm1000

节目

(LIGTABLE
   [...omitted...]
   (LABEL O 74)
   (LIG O 74 O 276)
   (STOP)
   (LABEL O 76)
   (LIG O 76 O 277)
   (STOP)
   [...omitted...]
)

tftopl程序将 TFM(字体度量)文件解码为人类可读的格式。

请注意,这里的数字以八进制表示形式给出;八进制 74 是 的插槽<,八进制 76 是 的插槽>;八进制 276 是十进制 190,八进制 277 是十进制 191。

连字表规定:当<后面跟着时<,则打印 190 号槽中的字符来代替它们。对于 也类似>>

如果 T2A 编码字体遗漏了连字符,情况就会有所不同,这种情况可能发生,但只能通过错误输出检测出来。空间因子代码不会引发任何问题,因为俄语babel设置了\frenchspacing

为了检查,请对以下文件运行 LaTeX

\documentclass{article}
\usepackage[russian]{babel}

\begin{document}

\showboxbreadth=\maxdimen
\showboxdepth=\maxdimen

\sbox0{"<qt">}\showbox0
\sbox0{<<qt>>}\showbox0

\end{document}

TeX 会像遇到错误一样停止两次;按回车键跳过停止。日志文件的相关部分将是

> \box0=
\hbox(6.1493+1.94397)x20.27283
.\T2A/cmr/m/n/10 <BE>
.\T2A/cmr/m/n/10 q
.\T2A/cmr/m/n/10 t
.\T2A/cmr/m/n/10 <BF>


! OK.
l.9 \sbox0{"<qt">}\showbox0

? 
> \box0=
\hbox(6.1493+1.94397)x20.27283
.\T2A/cmr/m/n/10 <BE> (ligature <<)
.\T2A/cmr/m/n/10 q
.\T2A/cmr/m/n/10 t
.\T2A/cmr/m/n/10 <BF> (ligature >>)

! OK.
l.10 \sbox0{<<qt>>}\showbox0

请注意,十六进制的 BE 和 BF 分别是十进制的 190 和 191。

输出完全相同(除了在第二种情况下 TeX 已完成连字的注释)。

嗯,有区别可以。您可以重新定义简写"<和以做一些不同的事情,例如在“and”之后添加一些不可中断的空格(就像法语那样)。这样的空格不能用and">添加(至少不能自动添加)。<<>>

相关内容