我的目的是用 pdflatex(而不是 xelatex)来显示一些希腊文本,我不明白 GFS 字体的不连贯行为。请考虑这个例子
\documentclass[a4paper]{article}
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polutonikogreek,english]{babel}
\usepackage{ebgaramond}
\newcommand{\GR}[1]{%
{\fontfamily{artemisia}\selectfont\foreignlanguage{greek}{#1}}%
}
\newcommand{\GRE}[1]{%
{\fontfamily{bodoni}\selectfont\foreignlanguage{greek}{#1}}%
}
\newcommand{\GREE}[1]{%
{\fontfamily{neohellenic}\selectfont\foreignlanguage{greek}{#1}}%
}
\newcommand{\GREEK}[1]{%
{\fontfamily{didot}\selectfont\foreignlanguage{greek}{#1}}%
}
\begin{document}
That time of year you mayst in me behold
\GR{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}
\GRE{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}
\GREE{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}
\GREEK{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}
That time of year you mayst in me behold
\end{document}
前三种字体按预期工作正常,但最后一种字体却不行。事实上,我收到了:
(/usr/local/texlive/2014/texmf-dist/tex/latex/cbfonts-fd/lgrcmr.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/ts1cmr.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/ebgaramond/T1EBGaramond-OsF.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsartemisia/t1artemisia.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsartemisia/lgrartemisia.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsbodoni/t1bodoni.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsbodoni/lgrbodoni.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsneohellenic/t1neohellenic.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsneohellenic/lgrneohellenic.fd)
LaTeX Font Warning: Font shape `T1/didot/m/n' undefined
(Font) using `T1/cmr/m/n' instead on input line 44.
LaTeX Font Warning: Font shape `LGR/didot/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 44.
[1{/usr/local/texlive/2014/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./prova.aux)
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
){/usr/local/texlive/2014/texmf-dist/fonts/enc/dvips/gfsneohellenic/neohelleni
cel.enc}{/usr/local/texlive/2014/texmf-dist/fonts/enc/dvips/gfsbodoni/bodoniel.
enc}{/usr/local/texlive/2014/texmf-dist/fonts/enc/dvips/gfsartemisia/artemisiae
l.enc}{/usr/local/texlive/2014/texmf-dist/fonts/enc/dvips/ebgaramond/ebgm_iymie
h.enc}</usr/local/texlive/2014/texmf-dist/fonts/type1/public/ebgaramond/EBGaram
ond12-Regular.pfb></usr/local/texlive/2014/texmf-dist/fonts/type1/public/gfsart
emisia/GFSArtemisia-Regular.pfb></usr/local/texlive/2014/texmf-dist/fonts/type1
/public/gfsbodoni/GFSBodoni-Regular.pfb></usr/local/texlive/2014/texmf-dist/fon
ts/type1/public/gfsneohellenic/GFSNeohellenic-Regular.pfb></usr/local/texlive/2
014/texmf-dist/fonts/type1/public/cbfonts/grmn1000.pfb>
为什么 didot 无法编译?此外,我不确定是否必须加载LGR
。谢谢
===================附录===================
读取相对 .fd 文件后,我发现真实名称是udidot
。这似乎解决了!但是,与 EB Garamond 相比,该字体太大了;所以我需要像 xelatex 这样的工具Scale=MatchLowercase
,或者无论如何,需要一种缩放希腊字体的方法
答案1
由于某种原因,文件.fd
对缩放因子进行了硬编码。因此字体被缩放到1.04
。您可以使用自己的定义来解决这个问题:
\documentclass[a4paper]{article}
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polutonikogreek,english]{babel}
\usepackage{ebgaramond}
\newcommand{\GR}[1]{%
{\fontfamily{artemisia}\selectfont\foreignlanguage{greek}{#1}}%
}
\newcommand{\GRE}[1]{%
{\fontfamily{bodoni}\selectfont\foreignlanguage{greek}{#1}}%
}
\newcommand{\GREE}[1]{%
{\fontfamily{neohellenic}\selectfont\foreignlanguage{greek}{#1}}%
}
\edef\scaleudidot{s*[.5]}% gives tiny text just to make the effect obvious: increase this to something reasonable (1.04 is default; 1 would be unscaled)
\DeclareFontFamily{LGR}{udidot}{}
\DeclareFontShape{LGR}{udidot}{m}{n}{<-> \scaleudidot gdidotrg6a}{}
\DeclareFontShape{LGR}{udidot}{m}{it}{<-> \scaleudidot golgai6a}{}
\DeclareFontShape{LGR}{udidot}{b}{n}{<-> \scaleudidot gdidotb6a}{}
\DeclareFontShape{LGR}{udidot}{b}{it}{<-> \scaleudidot gdidotbi6a}{}
\DeclareFontShape{LGR}{udidot}{m}{sl}{<-> \scaleudidot gdidoti6a}{}
\DeclareFontShape{LGR}{udidot}{b}{sl}{<-> \scaleudidot gdidotbi6a}{}
\DeclareFontShape{LGR}{udidot}{m}{sc}{<-> \scaleudidot gdidotsc6a}{}
\DeclareFontShape{LGR}{udidot}{m}{ui}{<-> \scaleudidot golgaui6a}{}
\DeclareFontShape{LGR}{udidot}{m}{sco}{<-> \scaleudidot gdidotsco6a}{}
\DeclareFontShape{LGR}{udidot}{bx}{n}{<-> \scaleudidot gdidotb6a}{}
\DeclareFontShape{LGR}{udidot}{bx}{it}{<-> \scaleudidot gdidotbi6a}{}
\DeclareFontShape{LGR}{udidot}{bx}{sl}{<-> \scaleudidot gdidotbi6a}{}
\newcommand{\GREEK}[1]{%
{\fontfamily{udidot}\selectfont\foreignlanguage{greek}{#1}}%
}
\begin{document}
That time of year you mayst in me behold
\GR{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}
\GRE{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}
\GREE{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}
\GREEK{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}
That time of year you mayst in me behold
\end{document}
会给荒谬
.5
根据自己的需要更改成更合理的东西。