我写过主文本我在 Debian 下的 Kile 中编写了文档,我想在刚刚安装了 TexMaker 的 Windows 中继续编写它(我需要输入和听音频记录,Windows 的音响系统更好)。这两个操作系统都最低安装了 TeXLive 2013 和一些附加软件包。当我编译主文件时,我得到了十几个错误:在 Kile/Debian 中,这些错误被归类为警告而不是错误几乎所有人都这么说:
! 软件包 textcomp 错误:TS1 编码中 (textcomp) 字体系列 ppl 未提供符号 \textrightarrow。(textcomp) 改为使用默认系列。请参阅 textcomp 软件包文档以了解解释。输入 H 可立即获得帮助。
我不知道该选择什么编码或为 指定什么选项\usepackage[???]{inputenc}
。显然ISO-8859-1
不起作用,而且使我的键盘变得疯狂(如果同时按下 Ctrl 或 Alt 键,某些键与它们上方的符号不对应)。TexMaker 建议使用 UTF-8。我以为添加\PassOptionsToPackage{warn}{textcomp}
序言将有助于编译文件...但无济于事!请帮帮我,我需要加快我的工作!
梅威瑟:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[italian]{babel}
\usepackage{amssymb, amsmath, amsfonts, xfrac} %tutto matematica
\usepackage{outlines}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\begin{document}
\begin{outline}[enumerate]
\1 What was blah blaha and blah?
\2[] blah blah \textrightarrow{} lorem ipsum etc.
\end{outline}
\end{document}
第二个不太 MWE 的情况:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{enumerate}
\usepackage{outlines}
\usepackage{enumitem}
\setlist[enumerate,2]{label= \roman*)}
\setlist[enumerate,3]{label=\textbf{\alph*})}
\usepackage{siunitx}
\renewcommand{\SIrange}[3]{\lbrack\num{#1}\ {;}\ \num{#2}\rbrack\,\si{#3}}
\sisetup{range-phrase = \ ;\ ,
range-units = brackets,
list-units = brackets,
list-separator = {,\ },
list-final-separator = {\ e\ }}
\usepackage{listings}% needed by siunitex
\usepackage{mathpazo}% needed by siunitex
%\usepackage{helvet}% needed by siunitex
\usepackage{cancel}
\usepackage{blindtext}
\usepackage{miller}
\usepackage{hyperref}
\hypersetup{pdfstartview=FitH}
\usepackage[italian]{cleveref}
\begin{outline}[enumerate]
\1 What was blah blaha and blah?
\2[] blah blah \textrightarrow{} lorem ipsum etc.
\end{outline}
\end{document}
答案1
梅威瑟:
\documentclass{article}
\usepackage{textcomp}
\usepackage{mathpazo}
\begin{document}
\textrightarrow
\end{document}
它会产生错误:
! Package textcomp Error: Symbol \textrightarrow not provided by
(textcomp) font family ppl in TS1 encoding.
(textcomp) Default family used instead.
该问题与包无关inputenc
。包主要控制字符代码在 127 到 255 之间的字符,而不是 ASCII 字符。它将它们映射到 LICR(LaTeX 内部字符表示),例如ö
变成\"o
。
包fontenc
将 LICR 映射到字体编码槽或替换代码。
字体编码TS1
有点特殊。有许多字体没有覆盖此编码中的所有字符。因此,包textcomp
定义了编码子集,这些子集没有为此类字体定义所有插槽。字体ppl
(Palatino)有子集 3。文件中对此进行了解释.log
:
Package textcomp Info: Sub-encoding information:
(textcomp) 5 = only ISO-Adobe without \textcurrency
(textcomp) 4 = 5 + \texteuro
(textcomp) 3 = 4 + \textohm
(textcomp) 2 = 3 + \textestimated + \textcurrency
(textcomp) 1 = TS1 - \textcircled - \t
(textcomp) 0 = TS1 (full)
字体项目TeX 环流扩展免费可用的 URW 字体:
TeX Gyre Pagella 基于 URW Palladio L(源自 Palatino,由 Hermann Zapf 于 20 世纪 40 年代设计)。
可以使用 TeX Gyre Pagella 包轻松替换文本字体tgpagella
:
\usepackage{mathpazo}
\usepackage{tgpagella}
包mathpazo
中保留了仍然使用 Palatino 的数学字体。
完整示例:
\documentclass{article}
\usepackage{textcomp}
\usepackage{mathpazo}
\usepackage{tgpagella}
\begin{document}
\textrightarrow $\rightarrow$
\end{document}
这里的文本版本来自 TeX Gyre Pagella,数学版本来自默认的 Computer Modern 字体。
LuaTeX/XeTeX 示例:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\usepackage{unicode-math}
\setmathfont{TeX Gyre Pagella Math}
\begin{document}
\textrightarrow → $\rightarrow →$
\end{document}
TeX Gyre Pagella (Math) 的文本和数学版本对 U+2192(向右箭头)使用不同的形状。