工作示例

工作示例

在一份文档中,我需要让所有这些工作完成:

  • 日文
  • 带变音符的拉丁语变音符号,例如,şţ带逗号的拉丁语变音符号,例如șț
  • 倾斜的文字

这是一本我也分发给其他人的书,所以我无法改回 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}

相关内容