梅威瑟:
% !TeX program = xelatex
\documentclass{article}
\usepackage{libertinus}
\renewcommand{\epsilon}{\varepsilon}
\begin{document}
This is \texttt{varepsilon}: $\varepsilon$.
This is \texttt{epsilon}, which should be looked the same as \texttt{varepsilon} $\epsilon$.
\end{document}
我正在使用XeLaTeX
。我无法重新定义epsilon
为varepsilon
,如上图所示。但是,如果我切换到pdfLaTeX
,就不会发生这种情况。
由于某种原因,我不得不使用XeLaTeX
。我该如何修改代码以在输入时获取变量ε epsilon
?谢谢您的帮助。
答案1
您需要将指令\renewcommand{\epsilon}{\varepsilon}
移至后指令\begin{document}
。这是必要的,因为libertinus
如果与 XeLaTeX 或 LuaLaTeX 一起使用,该包会将其部分设置工作推迟到前言结尾处。
% !TeX program = xelatex
\documentclass{article}
\usepackage{libertinus}
\begin{document}
\renewcommand{\epsilon}{\varepsilon}
varepsilon: $\varepsilon$ \quad epsilon: $\epsilon$
\end{document}
答案2
由于libertinus-otf
使用unicode-math
,因此需要延迟设置。
\documentclass{article}
\usepackage{libertinus}
\AtBeginDocument{\renewcommand{\epsilon}{\varepsilon}}
\begin{document}
This is \texttt{varepsilon}: $\varepsilon$.
This is \texttt{epsilon}, which should be looked the same as
\texttt{varepsilon} $\epsilon$.
\end{document}