\textohm 中的“charter”和“siunitx”包问题

\textohm 中的“charter”和“siunitx”包问题

考虑以下 MNWE:

\documentclass{article}

%%% start code I can't touch
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{charter}                  % Serif: Bitstream Charter
\usepackage[varqu,varl]{inconsolata}  % Monospaced: Inconsolata
%%% stop code I can't touch

\usepackage{siunitx}

\begin{document}
The offset is $V_{io}=\pm$\SI{1}{\micro\volt} for $R_G$ around \SI{1}{\kilo\ohm}.
\end{document}

这将无法编译(原版 Ubuntu 14.04,TeXLive 2013),并出现错误:

! Package textcomp Error: Symbol \textohm not provided by
(textcomp)                font family bch in TS1 encoding.
(textcomp)                Default family used instead.

现在,如果我注释掉\usepackage{charter}它,它就可以工作,如果我注释掉该包将会编译,尽管单元中的inconsolata希腊字母是错误的。mu

不幸的是,我无法更改任何一个包......

环顾四周,我发现使用(我找不到问答了,抱歉)

\usepackage[valuemode=math,unitmode=math]{siunitx}

使事情得到编译,但同样,“µV”具有数学运算......

(顺便说一句,这会给出一个弃用警告;但是按照手册中所述进行更改会出现“未找到选项”错误...... valuemodevalue-mode

考虑到我无法触及的“固定”部分(来自本地模板),我该如何解决这个问题?

答案1

好吧,显然我在发布它之后就找到了我认为的解决方法。以下这个答案并调整符号名称(这让我很困惑...这是答案中的拼写错误还是真的\upOmega改为\Upomega\textOhm改为\textohm?)我可以添加:

\usepackage{textcomp}
\renewcommand{\textmu}{\ensuremath{\upmu}}
\renewcommand{\textohm}{\ensuremath{\Upomega}}

...一切似乎都有效(到目前为止)。但我仍然认为应该有一种更干净的方法。

相关内容