如何在 LuaLaTeX 中使用 \emph 或 \textit?

如何在 LuaLaTeX 中使用 \emph 或 \textit?
%!TeX lualatex
\documentclass[a4paper,14pt]{extbook} % to be able to print 14pt fonts
\pagenumbering{gobble}

\usepackage{fontspec}

\newfontfamily{\Termes}{TeXGyreTermes-Regular}
\newfontfamily{\TermesIt}{TeXGyreTermes-Italic}

\newfontfamily{\MyriadPro}{MyriadPro-Regular}
\newfontfamily{\MyriadProIt}{MyriadPro-It}


\usepackage{polyglossia}
\setdefaultlanguage{german}
\setotherlanguages{english}
\usepackage[svgnames]{xcolor}

\begin{document}

\textlang{german}

\MyriadPro


Präambel

Der Zweck dieser Lizenz ist es, ein Handbuch, Textbuch oder ein anderes
zweckdienliches und nützliches Dokument
\emph{frei} {\MyriadProIt frei} % I have to insert this to print "frei" italic
im Sinne von Freiheit, zu machen.

\bigskip

\textlang{english}

\Termes\small

% \textcolor{magenta}
% The line above causes Argument of \textcolor has an extra } error
% Consequently, I can't change the color. 
Preamble

The purpose of this License is to make a manual, textbook, or other
functional and useful document
\emph{free} {\TermesIt free} % I have to insert this to print "free" italic
in the sense of freedom.

\end{document}

我正在将英文文本翻译成德文,我需要为每种语言使用不同的字体:对于德文文本,例如 MyriadPro-Regular;对于英文文本,例如 TeXGyreTermes-Regular。在两种文本中,我都必须使用该\emph命令。

上面的示例文本只是正文的一小部分,其中有许多行程序代码、表格等。由于正文很长,我无法将其包含在这里。当我用它编译正文时,它xelatex要么打印错误,要么出现编译错误。当我使用lualatex它时,所有字体都打印正确,编译也正常,所以我需要专门使用lualatex

但是当我使用 时lualatex\emph\textit不起作用。为了使文本变为斜体,我需要设置 \newfontfamily{\TermesIt}{TeXGyreTermes-Italic} 并执行{\TermesIt free}这些操作,这当然很麻烦。

如何在 LuaLaTeX 中使用\emph\textit

polyglossia下面的问题与包的使用有关,\textcolor并且对于上面的问题来说并不是必不可少的。

选修的:为了让\textlang{german}能够使用\MyriadPro并且为了让\textlang{english}能够使用\Termes\small,我需要重复设置\MyriadPro\Termes\small行。有没有办法只设置一次?

可选 2:最后,我需要\textcolor{magenta}为设置\textlang{english},但它会导致示例代码中所述的错误。如何修复?

答案1

你想做

\documentclass[a4paper,14pt]{extbook} % to be able to print 14pt fonts
\pagenumbering{gobble}

\usepackage{fontspec}

\newfontfamily{\englishfont}{TeX Gyre Termes}

\newfontfamily{\germanfont}{Myriad Pro}


\usepackage{polyglossia}
\setdefaultlanguage{german}
\setotherlanguages{english}
\usepackage[svgnames]{xcolor}

\begin{document}

Präambel

Der Zweck dieser Lizenz ist es, ein Handbuch, Textbuch oder ein anderes
zweckdienliches und nützliches Dokument
\emph{frei} \textit{frei} % I have to insert this to print "frei" italic
im Sinne von Freiheit, zu machen.

\bigskip

\begin{otherlanguage*}{english}\small

Preamble

The purpose of this License is to make a manual, textbook, or other
functional and useful document
\emph{free} \textit{free} % I have to insert this to print "free" italic
in the sense of freedom.

\end{otherlanguage*}

\end{document}

在此处输入图片描述

答案2

我认为您没有有效利用该软件包的功能。具体来说,我不会发布四个单独的指令,fontspec而是发布一个指令:\newfontfamily\setmainfont\setsansfont

\setmainfont{TeX Gyre Termes}
\setsansfont{Myriad Pro}[Scale=MatchLowercase] % 'Scale' option is optional

对于大多数 Opentype 字体,这些指令将自动成功加载这些字体系列的斜体、粗体和粗斜体字体。特别是,\emph将工作得很好。


在此处输入图片描述

% !TEX TS-program = lualatex

\documentclass[a4paper,14pt]{extbook} % to be able to print 14pt fonts
\pagenumbering{gobble}

\usepackage{fontspec}
%
%\newfontfamily{\Termes}{TeXGyreTermes-Regular}
%\newfontfamily{\TermesIt}{TeXGyreTermes-Italic}
%
%\newfontfamily{\MyriadPro}{MyriadPro-Regular}
%\newfontfamily{\MyriadProIt}{MyriadPro-It}

\setmainfont{TeX Gyre Termes}
\setsansfont{Myriad Pro}[Scale=MatchLowercase]


\usepackage{polyglossia}
\setdefaultlanguage{german}
\setotherlanguages{english}
\usepackage[svgnames]{xcolor}

\begin{document}

\textlang{german}

\sffamily

Präambel

Der Zweck dieser Lizenz ist es, ein Handbuch, Textbuch oder ein anderes
zweckdienliches und nützliches Dokument
\emph{frei} %{\MyriadProIt frei} % I have to insert this to print "frei" italic
im Sinne von Freiheit, zu machen.

\bigskip

\textlang{english}

\rmfamily

% \textcolor{magenta}
% The line above causes Argument of \textcolor has an extra } error
% Consequently, I can't change the color. 
Preamble

The purpose of this License is to make a manual, textbook, or other
functional and useful document
\emph{free} %{\TermesIt free} % I have to insert this to print "free" italic
in the sense of freedom.

\end{document}

相关内容