我似乎除了这种丑陋的默认字体和 Palatino 系列的一些常见样式外什么都没有。
我是 LaTeX 新手,所以希望您能多多包涵。但我运行的是 Mac OS 10.7.5 和 TeX Live。我使用 XSLT 编写文件.tex
,并且可以通过插入 来访问 Palatino \usepackage{palatino}
。
清单这里这表明 Palatino 应该有自己的小型大写字母和旧式编号样式 - 并且 LaTeX 应该支持更多字体系列 - 但就我而言,我无法在输出 PDF 中获得这些字体。
看起来我需要安装一大堆字体,但现在我只是在黑暗中摸索。请帮忙!
示例 1:Palatino 中缺少小写字母
我的小写字母是通过缩放全大写字母来模拟的;它们显然不是 Palatino 列出的单独字体样式。这会产生不平衡的文本粗细。(参见http://theworldsgreatestbook.com/book-design-part-5/。
如果我交替使用小写字母和明确缩放的全大写字母,这一点就变得很明显了。它们是 100% 相同的:
\documentclass[12pt]{book}
\usepackage{palatino}
\usepackage{fix-cm}
\def\switchcaps{\fontsize{8pt}{12pt}\selectfont}
\begin{document}
\fontsize{10pt}{12pt}\selectfont
\textsc{a}{\switchcaps{A}}\textsc{b}{\switchcaps{B}}\textsc{c}{\switchcaps{C}}\textsc{n}{\switchcaps{N}}\textsc{u}{\switchcaps{U}}
\end{document}
日志档案:http://pastebin.com/43YHxqkg
示例 2:Palatino 中缺少旧式数字
当我使用 时\oldstylenums
,我得到了正确的样式,但使用的是默认字体,而不是 Palatino。我发现这是直接访问 Palatino 旧式编号的一种方法:[使用旧式数字而不使用 \oldstylenums],但是没有效果。
\documentclass[12pt]{book}
\usepackage{palatino}
\begin{document}
\renewcommand*\rmdefault{pplj}
Testing \textsc{Testing} 0123456789
\end{document}
日志档案:http://pastebin.com/8ebHB1EE
示例 3:缺少字体系列(例如 Day Roman)
我尝试的任何其他字体都完全缺失。如果它编译成功,它就会使用默认字体。以下是遵循此处“使用”说明的示例:http://www.tug.dk/FontCatalogue/dayrom/
\documentclass[12pt]{book}
\renewcommand*\rmdefault{dayrom}
\usepackage[T1]{fontenc}
\begin{document}
Testing \textsc{Testing} \oldstylenums{0123456789}
\end{document}
答案1
问题 1
使用mathpazo
而不是palatino
,并使用以下sc
选项:
\documentclass[12pt]{book}
\usepackage[sc]{mathpazo}
\def\switchcaps{\fontsize{8pt}{12pt}\selectfont}
\begin{document}
\fontsize{10pt}{12pt}\selectfont
\textsc{a}{\switchcaps{A}}%
\textsc{b}{\switchcaps{B}}%
\textsc{c}{\switchcaps{C}}%
\textsc{n}{\switchcaps{N}}%
\textsc{u}{\switchcaps{U}}
\end{document}
问题 2
使用mathpazo
而不是palatino
,并使用选项osf
(这意味着sc
)
\documentclass[12pt]{book}
\usepackage[osf]{mathpazo}
\begin{document}
\renewcommand*\rmdefault{pplj}
Testing \textsc{Testing} 0123456789
\end{document}
问题 3
由于许可原因,该dayroman
字体在 TeX Live(因此 MacTeX)中不可用。您必须使用getnonfreefonts-sys
公用事业。
请注意,该字体缺少小型大写字母,旧式数字是默认设置。
\documentclass[12pt]{book}
\renewcommand*\rmdefault{dayrom}
\usepackage[T1]{fontenc}
\begin{document}
Testing \textsc{Testing} 0123456789
\end{document}
日志文件将出现警告
LaTeX Font Warning: Font shape `T1/dayrom/m/sc' undefined
(Font) using `T1/dayrom/m/n' instead on input line 5.
答案2
我终于满足了我的需求完全放弃默认字体系统和找到解决方法。这是一个折衷方案,所以如果后来有人能真正修复我的安装(或告诉我我做错了什么?)我愿意选择他们的答案。
一切都始于选择一种字体我可以在 TTF 或 OTF 文件中获取具有必要的变化(小型大写字母、旧式字母和衬线数字)绝对内置到目前为止我发现这,由活字印刷联盟。
是的,目前只有一个选择。这是牺牲多样性换取质量。我正在这么做。
快速搜索显示,xelatex
作为替代方案pdflatex
,它可以跟踪文件的路径。连接起来,然后:
\documentclass[12pt]{book}
\usepackage{fontspec}
\setmainfont[Numbers=Lining]{font.otf}
\newfontfamily{\oldstylenums}{font.otf}
\usepackage{fix-cm}
\def\switchcaps{\fontsize{6.4pt}{12pt}\selectfont}
\begin{document}
\fontsize{10pt}{12pt}\selectfont
\textsc{a}{\switchcaps{A}}\textsc{b}{\switchcaps{B}}\textsc{c}{\switchcaps{C}}\textsc{n}{\switchcaps{N}}\textsc{u}{\switchcaps{U}}
Testing \textsc{Testing} 0123456789 \oldstylenums{0123456789}
\end{document}