因此,我使用了雇主要求的自定义投影仪样式,并且在尝试用“欧姆”符号排版一些问题示例时,我注意到它并不总是有效。
起初,我注意到它根本没有出现,使用以下代码:
\documentclass[9pt]{beamer}
\mode<presentation>
{
\usetheme{JuanLesPins}
\usefonttheme{serif}
\usecolortheme{beaver}
\setbeamercovered{invisible} \setbeamertemplate{blocks}[rounded][shadow=true]
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]
\usecolortheme[RGB={122,4,24}]{structure}
}
\setcounter{tocdepth}{1}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setdefaultlanguage{brazil}
\usepackage{siunitx}
\sisetup{per-mode=symbol,output-decimal-marker={,},math-micro=\text{µ},text-micro=µ,exponent-product = \cdot}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\section*{Sumário}
\begin{frame}{Sumário}
\tableofcontents
\end{frame}
\begin{frame}{}
You can see that this doesn't work: \SI{1}{\ohm}
Nor does this: $ \SI{1}{\ohm} $
Or this: $$ \SI{1}{\ohm} $$
Or this: \[ \SI{1}{\ohm} \]
Or \[ \text{\SI{1}{\ohm}} \]
\end{frame}
\end{document}
detect-all=true
添加命令后,\sisetup
我设法使\SI
文本模式下的宏起作用,但没有一个数学宏起作用,就像这样。
我注意到,如果我\usefonttheme{serif}
从样式定义中删除该行(我不知道如何称呼它,抱歉),一切都会照常工作。
我考虑重新定义 siunitx 包使用的 Omega 字符,但无济于事。
\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
\DeclareMathSymbol{\varOmega}{\mathalpha}{operators}{"0A}
还尝试更改包中使用的字体(math-rm=\mathrm, text-rm=\rmfamily
在\sisetup
),并使其对外部系列字体不敏感(detect-family=false
在\sisetup
)。但都没有任何明显的结果。
答案1
您遇到的问题很可能是使用该包的(不良)副作用polyglossia
,该包在与语言选项一起使用时似乎存在一些问题brazil
。
除非你绝对必须使用该polyglossia
软件包,否则一个简单的补救措施包括(a)删除(或至少注释掉)说明
\usepackage{polyglossia}
\setdefaultlanguage{brazil}
(b)在其位置运行该指令
\usepackage[portuguese]{babel}
单独的评论/观察:我也会删除选项siunitx
和math-micro=\text{µ}
。text-micro=µ
当然,当与包一起使用时babel
,这些选项在编写时会产生不正确的输出,例如,\si{\micro\ohm}
。
\documentclass{beamer}
\mode<presentation>
{
\usetheme{JuanLesPins}
\usefonttheme{serif}
\usecolortheme{beaver}
\setbeamercovered{invisible} \setbeamertemplate{blocks}[rounded][shadow=true]
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]
\usecolortheme[RGB={122,4,24}]{structure}
}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
%\usepackage{polyglossia}
%\setdefaultlanguage{brazil}
\usepackage[portuguese]{babel}
\usepackage{siunitx}
\sisetup{per-mode=symbol,output-decimal-marker={,},exponent-product = \cdot}
\begin{document}
\begin{frame}{}
This works now: \SI{1}{\micro\ohm}
So does this: $\SI{1}{\micro\ohm}$
And this: $$ \SI{1}{\micro\ohm} $$
And this: \[ \SI{1}{\micro\ohm} \]
And this: \[ \text{\SI{1}{\micro\ohm}} \]
\end{frame}
\end{document}
答案2
只需删除\usepackage{lmodern}
和\usepackage[T1]{fontenc}
。
\documentclass[9pt]{beamer}
\mode<presentation>
{
\usetheme{JuanLesPins}
\usefonttheme{serif}
\usecolortheme{beaver}
\setbeamercovered{invisible} \setbeamertemplate{blocks}[rounded][shadow=true]
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]
\usecolortheme[RGB={122,4,24}]{structure}
}
\setcounter{tocdepth}{1}
\usepackage{polyglossia}
\setdefaultlanguage{brazil}
\usepackage{siunitx}
\sisetup{
per-mode=symbol,
output-decimal-marker={,},
math-micro=\text{µ},
text-micro=µ,
exponent-product = \cdot
}
\begin{document}
\begin{frame}{}
You can see that this doesn't work: \SI{1}{\ohm}
Nor does this: $ \SI{1}{\ohm} $
Or this: \[ \SI{1}{\ohm} \]
Or \[ \text{\SI{1}{\ohm}} \]
\end{frame}
\end{document}