“setmainfont”和“setCJKmainfont”需要哪些包?

“setmainfont”和“setCJKmainfont”需要哪些包?

我对此进行了广泛的搜索,但没有找到任何可以帮助我的东西,但如果你知道一些可能有帮助的先前问题,请随时指出我。

我有一份包含日文和拉丁文字符的文档。我想澄清的是,它以前工作正常,我能够看到这两组字形。我把它放了一段时间,当我重新拿起文档并排版时,日文字形消失了。除了未打印的日文字符外,它其他都有效。所以我尝试了其他软件包,但都没有用。

最后我尝试设置两种字体,一种用于日文部分,一种用于拉丁字符。这样做的原因是我需要一些单词为斜体,一些单词为小写字母(用于拉丁字符),因为我找不到一种字体既支持日文又支持这两种字体。

但是如果我尝试写:

\setmainfont{CMU Serif}
\setCJKmainfont{Hiragino Mincho Pro}

我明白了:

LaTeX Warning: Command \selectfont has changed.
Latex Error: ...tex:37 LaTeX Error: Environment CJK undefined.
Latex Error: ...tex:175 LaTeX Error: \begin{document} ended by \end{CJK}.

所以我的问题是:是否有一种字体可以支持所有这些?或者,我需要哪些软件包才能设置两种字体,并且 Latex 会自动识别何时使用每种字体?我更喜欢使用最小方法来设置它,而不是使用大量的前导码。

以下是 MWE:

\documentclass{article}
\usepackage[a4paper, margin=1cm, landscape]{geometry}
\usepackage[document]{ragged2e}
\usepackage{fontspec} % I was experimenting
\usepackage{setspace}
\usepackage{lineno}
\usepackage[english]{babel}
\usepackage{CJKutf8}
\usepackage[table]{xcolor}    % loads also »colortbl«
\usepackage{tabu}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage{array}
\usepackage{arydshln}

\pagestyle{empty}

%\setmainfont{CMU Serif}
%\setCJKmainfont{Hiragino Mincho Pro}

\begin{document}

 Regular, \emph{italic} text, but also in \textsc{small caps}. And now for some 日本語 $\leftarrow$ Japanese.

\end{document}

输出:

enter image description here

答案1

这应该可行。请勿使用CJKCJKutf8打包。需要 XeLaTeX。

\documentclass{article}
\usepackage[a4paper, margin=1cm, landscape]{geometry}
\usepackage[document]{ragged2e}
\usepackage{setspace}
\usepackage{lineno}
\usepackage[table]{xcolor}    % loads also »colortbl«
\usepackage{tabu}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage{array}
\usepackage{arydshln}

\pagestyle{empty}

\usepackage{xeCJK}
\setmainfont{CMU Serif}
\setCJKmainfont{Hiragino Mincho Pro}

\begin{document}

Regular, \emph{italic} text, but also in \textsc{small caps}.
And now for some 日本語 $\leftarrow$ Japanese.

\end{document}

enter image description here

相关内容