我正在尝试从 切换pdflatex
到lualatex
。当我使用polyglossia
西班牙语时\sen
,它效果不佳。尝试了几次,都没有成功。MWE:
\documentclass[12pt,letterpaper]{book}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%\makeatletter
%\appto\inlineextras@spanish{\renewcommand\sin{\qopname \relax m{sen}}}
%\appto\blockextras@spanish{\renewcommand\sin{\qopname \relax m{sen}}}
%\makeatother
%\DeclareMathOperator{\sen}{sen}
%\renewcommand{\sin}{\operatorname{sen}}
%\renewcommand{\sen}{\operatorname{sen}}
\begin{document}
\begin{align*}
\cos^2 + \sin^2x&=1\\
\cos^2 + \sen^2x&=1\\
\end{align*}
\end{document}
答案1
您想使用该spanishoperators
选项,但也希望将其设置\sen
为相同\sin
。
\documentclass[12pt,letterpaper]{book}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage[spanishoperators=all]{spanish}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\makeatletter
\appto\inlineextras@spanish{\NewCommandCopy\sen\sin}
\appto\blockextras@spanish{\NewCommandCopy\sen\sin}
\makeatother
\begin{document}
\begin{align*}
\cos^2x + \sin^2x&=1\\
\cos^2x + \sen^2x&=1\\
\end{align*}
\end{document}
答案2
如果使用巴别塔代替多语是一个选项,以下代码应该会让您感兴趣。请注意,\sin
和\sen
现在都以直立(又称“罗马”)字母输出“sen”。
% !TEX TS-program = lualatex
\documentclass[12pt,letterpaper]{book}
\usepackage{amsmath} % for '\DeclareMathOperator' macro
\usepackage{unicode-math} % optional
\usepackage[spanish]{babel} % defines '\sen' macro
\let\sin\relax % undefine '\sin' first
\DeclareMathOperator{\sin}{sen} % redefine '\sin'
\begin{document}
$\sin x$, $\sen x$
\end{document}