此示例:
\documentclass{minimal}
\usepackage{fontspec}
\usepackage[T1]{fontenc}
\usepackage[osf]{mathpazo}
\begin{document}
\copyright 2011
\end{document}
给出:
! LaTeX Error: Command \copyright unavailable in encoding T1.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.9 \copyright
2011
?
我该怎么做才能获得版权符号?我是否应该使用其他命令?
答案1
快速解决方案:
使用\textcopyright
而不是\copyright
。现在版权符号将以字体形式输出cmsy
,并且会出现字体警告。
这种方法有点糟糕,因为它会产生字体替换警告,并使用 CM 字体。
优点是不需要对代码做太多修改。而且字体正是Palatino 及其由 PSNFSS 包提供的数学支持。
快速解决方案2:
\renewcommand*\copyright{{%
\usefont{EU1}{lmr}{m}{n}\textcopyright}}
它使用拉丁现代字体的符号。
这可以避免警告。并且为此标志使用 LMR 字体。字体命令可以根据需要进行更改。例如\fontfamily{lmr}\selectfont
。
textcomp
TS1
该包在字体编码方面使用了一组旧的字体。
建议的解决方案:
\documentclass{minimal}
\usepackage{unicode-math}
\setmainfont[Ligatures=TeX,Numbers=OldStyle]{TeX Gyre Pagella}
\setmathfont{Asana Math}
\begin{document}
Test \copyright 2011
\end{document}
现在所有字体都改为OpenType字体。结果与pdfLaTeX +pxfonts
包有些相似。
答案2
我会加载马特帕佐 前 字体规格; 而且丰滕克不需要,因为你需要设置字体字体规格。
\usepackage[osf]{mathpazo}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX,Numbers=OldStyle]{TeX Gyre Pagella}
\begin{document}
\copyright 2011
\end{document}
答案3
回答有关版权符号的问题:该符号采用 TS1 编码,因此您必须加载此编码或包textcomp
。以下内容适用于所有引擎(pdflatex、xelatex、lualatex...):
\documentclass{minimal}
\usepackage[TS1,T1]{fontenc}
\usepackage[osf]{mathpazo}
\begin{document}
\copyright 2011
\end{document}
但是使用 T1 编码和 mathpazo 文本字体与 xelatex 一起使用是有问题的。由于您不能使用 inputenc,您将失去直接输入非 ASCII 字符的能力。例如 ß 不起作用。连字符也可能是错误的,因为 xelatex 的模式是面向 unicode 的。最好使用加载了 fontspec 的字体作为文本字体。
答案4
我发现关于版权符号的问题。基于此,我想出了一个解决方案,至少目前看来它满足我的所有标准:
\documentclass{minimal}
\usepackage{fontspec}
\usepackage[TS1,T1]{fontenc}
\usepackage[osf]{mathpazo}
\usepackage{textcomp}
\begin{document}
\textcopyright \ 2011
\end{document}
使用该\textcopyright
命令似乎有效。