在一份文档中,我需要让所有这些工作完成:
- 日文
- 带变音符的拉丁语变音符号,例如,
şţ
带逗号的拉丁语变音符号,例如șț
- 倾斜的文字
这是一本我也分发给其他人的书,所以我无法改回 pdflatex,它必须保留 xelatex(此外,在 xelated 中第二个标准也得到满足)。
使用以下 POC,前者和后者不起作用:
\documentclass[10pt]{article}
\usepackage{ifxetex}
\ifxetex
\usepackage{fontspec}
\usepackage{xunicode}
\defaultfontfeatures{Mapping=tex-text} % To support LaTeX quoting style
\defaultfontfeatures{Ligatures=TeX}
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi
\usepackage{helvet}
\begin{document}
\setmainfont[Ligatures={TeX, Common}, % sequences of two or more characters yeld one character]
ItalicFont={Charis SIL:style=Italic},
% SlantedFont={SourceSansPro Slanted},
ItalicFeatures=FakeSlant,
%MonoFont={Myriad CAD:style=Regular},
Mapping=tex-text,AutoFakeSlant=0.2
]{Source Sans Pro:style=Regular} % found by $ fc-list
hello world \textit{italic text} and \textsl{slanted text} and \texttt{monospaced text}.
Diacritics: șş țţ ȘŞ ȚŢ î Î ă Ă
Japanese: 守 破 離
\end{document}
输出如下所示:
如何让它正常工作?
工作示例
感谢@Ulrike Fischer,我使用 xelatex 在 ArchLinux 上实现了如下效果:
\documentclass[10pt]{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[SlantedFont={Charis SIL},SlantedFeatures={FakeSlant=0.2}]{Charis SIL}
\usepackage{xeCJK}
\setCJKmainfont{DejaVu Sans Mono}
\setCJKfamilyfont{sf}{Kozuka Mincho Pr6N:style=R,Regular}
\setCJKfamilyfont{tt}{DejaVu Sans Mono}
\newcommand{\jptext}[1]{\sffamily#1}
\begin{document}
%Roman font Charis SIL:
hello world \textit{italic text} and \textsl{slanted text}.
Diacritics: șş țţ ȘŞ ȚŢ î Î ă Ă
\texttt{monospaced font}
Japanese: \jptext{守 破 離}
----------------------------------------------
%Sans serif font:
\sffamily
hello world \textit{italic text} and \textsl{slanted text}.
Diacritics: șş țţ ȘŞ ȚŢ î Î ă Ă
\texttt{monospaced font}
Japanese: \jptext{守 破 離}
\end{document}
希望它能对某人有所帮助。
答案1
关于日文,我认为你应该使用xecjk
并设置合适的 cjk 字体。我没有太多带日文字形的字体,所以我使用了 Arial Unicode,但还有其他字体。
(附注:xecjk
当前分发的版本miktex
不适用于最新版本。如果遇到错误,l3kernel
您需要从 CTAN 获取)。xecjk
我不明白你到底想要哪种文本字体设置。你混合使用衬线字体(Charis Sil)和无衬线字体(Source Sans Pro)的做法相当奇怪。一般来说:没有多少字体带有倾斜和斜体版本,因此通常fontspec
会将两个命令映射到相同的字体。如果您确实想要两种类型,您可以执行以下操作:
\documentclass[10pt]{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[SlantedFont={Charis SIL},
SlantedFeatures={FakeSlant=0.2}]{Charis SIL}
\setsansfont[SlantedFont={Source Sans Pro},
SlantedFeatures={FakeSlant=0.2}]{Source Sans Pro}
\usepackage{xeCJK}
\setCJKmainfont{Arial Unicode MS}
\begin{document}
%Roman font Charis SIL:
hello world \textit{italic text} and \textsl{slanted text}.
Diacritics: șş țţ ȘŞ ȚŢ î Î ă Ă
%Sans serif font:
\sffamily
hello world \textit{italic text} and \textsl{slanted text}.
Diacritics: șş țţ ȘŞ ȚŢ î Î ă Ă
Japanese: 守 破 離
\end{document}