ConTeXt 在带有 Lettrine 模块的 LMTX 环境中会失败吗?

ConTeXt 在带有 Lettrine 模块的 LMTX 环境中会失败吗?

我已经成功使用 ConTeXt MkIV 处理我的所有文档。

到目前为止,在我的 Arch Linux 发行版中,TeX 版本运行一切顺利,这要归功于上下文最小值从 AUR 安装包。

几天前我安装了卢阿梅塔克斯软件包,也是来自 AUR。然后我从康普顿綜合编译我的 ConTeXt 文档。这是目前为止我的工作流程中唯一发生变化的事情(我的序言是相同的,而且我\input也不必更改文件中的任何内容)。

我的 pdf 中也没有任何变化,除了 LMTX 与 Lettrine 的一些奇怪行为:我删除的大写字母没有集成到文本中,而是留在边距内,如下所示。

在此处输入图片描述

然而,每次我返回到 ConTeXt MkIV 环境时(康普顿)使用相同的命令,一切都再次完美运行context preamble.tex

在此处输入图片描述

本论坛中是否有人经历过 LMTX 和 Lettrine 与 ConTeXt 之间的相同奇怪行为?TeX 直播分布或ConTeXt 独立版

我的LuaMetaTex版本是2.07.10

我还从我的代码中添加了一个摘录,该摘录由我在此处编写的、一个接一个连接在一起的独立部分组成,新的 LMTX 可能不喜欢这样:

\setuplanguage[es][leftquotation=«,rightquotation=»]
    
\mainlanguage[es]
\definepapersize[mybook][width=6in,height=9in]
    
\setuppapersize[mybook]

\usemodule[lettrine]
\def \LettrineStyle
    
  {\definefontsynonym[LettrineFont][Bold]\dropcapitals
\setuplettrine[A][Lines=3,Slope=4pt,Findent=-3pt,Hang=0.04,FontHook={\LettrineStyle}]
\setuplettrine[L][Lines=3,Hang=0.06,Findent=-6pt,Nindent=12pt,
FontHook={\LettrineStyle}]
\setuplettrine[E][Lines=3,Hang=0.10,FontHook={\LettrineStyle}]
\setuplettrine[B][Lines=3,Hang=0.04,Raise=0.00,Oversize=0.00,
FontHook={\LettrineStyle}]
\setuplettrine[R][Lines=3,Oversize=0.04,Hang=0.06,Raise=0.00,
FontHook={\LettrineStyle}]
\setuplettrine[Q][Lines=3,Hang=0.08,
Nindent=1em,Raise=0.16,Oversize=-0.10,
FontHook={\LettrineStyle}]
\setuplettrine[M][Lines=3,Hang=0.06,Raise=0.00,FontHook={\LettrineStyle}]
    
\setuplettrine[W][Lines=3,Hang=0.04,Raise=0.00,Findent=2pt,Slope=-4pt,
Nindent=-4pt,Oversize=0.00,
FontHook={\LettrineStyle}]

\definefontfeature[body]
    
[mode=node,calt=no,itlc=yes,
liga=yes,dlig=no,hlig=no,
rlig=no,tlig=yes,kern=yes,swsh=yes,
    
onum=yes,salt=no,script=latn,pnum=yes,
    
protrusion=quality,expansion=quality]
    
\definefontfamily[mainfont][rm][cochineal][features=body]

\setuplayout % global
 layout
[
grid=yes,
%backspace=52pt,
%width=318pt,
    
width=fit,
    
topspace=36pt,
    
header=12pt,
    
headerdistance=13.50pt,
    
height=569pt,
    
footer=26pt,
    
footerdistance=12pt
]
\definegridsnapping[tolerant]

\definefontsize[t]
    
\definefontsize[u]
    
\definefontsize[v]
    
\definefontsize[w]
    
\definefontsize[y]
    
\definefontsize[z]
\definebodyfontenvironment[12.46pt][t=12.00pt,

u=11.30pt,v=15.20pt,w=8pt,y=30pt,z=10.20pt]
     
    \switchtobodyfont[12.46pt]
        
        
    \setupbodyfont[mainfont]
        
        
    \setupindenting[yes,medium]
        
        
    \setupalign[hz,hanging,height]
    \setupinterlinespace[line=15.45pt]
      

尽管我对 Lettrine 的工作原理几乎一无所知,但我怀疑这与该模块处理段落的方式有关。LMTX 会改变这种情况吗?

我花了几个小时到处尝试。这是一个带有测试题词的示例。虽然结果是正确的,但我很困惑:它不是使用 MkIV 编译的,而是使用相同的綜合环境和命令作为前文的主旨。

使用 LMTX 编译

是的,它是用 LMTX 重新编译的,没有改变我旧代码的任何一点;当然,我只是添加了创建示例题词所需的代码。现在我将在下面分享我添加的代码以包含它。

\usemodule[annotation]
\definelayout[epigraph]
    [
      backspace=176pt,
      width=194pt
    ]
    \defineannotation
      [Epigraph]
      [
        alternative=command,
        style=tfa,
        spacebefore=small,
        spaceafter=big,
        command=\PlaceEpigraph,
      ]
    \define[2]\PlaceEpigraph
      {\startalignment[hanging,flushleft,nothyphenated]
    \setupinterlinespace[line=22pt]
    \placeannotationcontent
    \stopalignment}

\startmakeup[standard][doublesided=yes]
  
\setuplayout[epigraph]
    
\startEpigraph
     
\lettrine{A}{hora} \switchtobodyfont[initialtext],rest of my dummy text.
     
\stopEpigraph
    
\startalignment[flushright]
         
    \blank[0.8cm,force]{\tfa\sc Geofrey Chaucer,\hspace[big\blank[0.1cm,force]
    {\switchtobodyfont[initialtext]\tfa\em The Canterbury Tales \hspace[big]}
            
\stopalignment
      
\stopmakeup

我没有找到对这个正确结果的解释,这与 LXMT 和 Letrine 再次在正文中给出的罕见输出异常相距甚远。

这个谜团很可能与揭露关联米凯普已经为我们提供了。但我对代码没有深入的了解,无法将其与该线程的内容联系起来,也无法消除其解决方案给我带来的疑虑,目前看来,它不仅是最好的,而且是唯一的。

顺便说一句,关于汉斯·哈根在他的公告,更具体地说是指\forgetparagraphfreezing,有人能用通俗易懂的语言向我解释为什么保持段落冻结是相关的吗?相反,说实话,我不知道这是什么意思

...在 lmtx 中我们都期望启用冻结功能。

相关内容