我想在斜体部分内放置文本图形(也应为斜体)。我该如何实现?(文档在 ConTeXt MKII 中。)
以下两个示例均生成非斜体(常规)文本图形:
{\em Poppy Heavy with Seed. Video, {\os 17}:{\os 52}.}
{\em Poppy Heavy with Seed. Video, {\em \os 17}:{\em \os 52}.}
以下是两个带有图像的测试:
测试 1
\setupbodyfont [10pt]
\starttext
{\em Poppy Heavy with Seed. Video, {\os 17}:{\os 52}.}
\stoptext
上下文文本 (PDFTeX):
ConTeXt (LuaTeX):
测试 2
\setupbodyfont [10pt]
\starttext
{\em Poppy Heavy with Seed. Video, {\em \os 17}:{\em \os 52}.}
\stoptext
上下文文本 (PDFTeX):
ConTeXt (LuaTeX):
答案1
首先请注意,这\em
是一个相对于上下文强调文本的命令,因此{\em a {\em b} c}
文本以直立方式打印a
并c
以斜体显示,但b
直立。因此编码
{\em Poppy Heavy with Seed. Video, {\em \os 17}:{\em \os 52}.}
预计将以直立字体17
打印。52
现在,\os
实际执行的操作取决于你在文件上运行的上下文版本。考虑一下
\setupbodyfont [10pt]
\starttext
{\em Poppy Heavy with Seed. Video, {\os 17}:{\os 52}.}
{\em Poppy Heavy with Seed. Video, {\em \os 17}:{\em \os 52}.}
\stoptext
要获得 mkii 行为,请使用命令texexec
。这将使用其版本pdftex
的引擎和拉丁现代字体.pfb
您可以在日志文件中看到这些信息,其中包括:
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013) (format=cont-en 2013.7.18) 14 AUG 2013 08:27 ... ConTeXt ver: 2013.04.09 10:38 MKII fmt: 2013.7.18 int: english/english ... {/usr/local/texlive/2013/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc}{/usr/lo cal/texlive/2013/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc}</usr/local/texlive/20 13/texmf-dist/fonts/type1/public/lm/lmmi10.pfb></usr/local/texlive/2013/texmf-d ist/fonts/type1/public/lm/lmr10.pfb></usr/local/texlive/2013/texmf-dist/fonts/t ype1/public/lm/lmro10.pfb>
另一方面,如果你context
在文件上运行命令,那么你将获得 mkiv 行为,使用的引擎是拉丁现代字体,并且在其版本luatex
中加载.otf
日志文件包含:
ConTeXt ver: 2013.05.28 00:36 MKIV current fmt: 2013.8.14 int: english/english ... mkiv lua stats > loaded fonts: 3 files: latinmodern-math.otf (experimental), lmroman10-regular.otf, lmromanslant10-regular.otf
因此您会看到 (a) 不同的引擎使用不同的底层格式和不同的字体机制,并且 (b) mkiv 行为会在预期的位置提供斜体旧式数字,而 mkii 不会产生这种情况(至少对于拉丁现代字体而言)。