我使用 latex 模板撰写了一篇文章。我需要使用符号$\coprod$
,但存在
包 mathptmx 错误:此包中不包含符号 \jmath、\amalg 和 \coprod。
我尝试使用包txfonts
,但是它不起作用。如何处理这个问题?
答案1
mathptmx
我建议您加载newtxtext
和包,而不是包newtxmath
。(它们是包的后继者txfonts
。)令人高兴的是,为、和newtxmath
提供了定义。\jmath
\amalg
\coprod
答案2
仅导入 cm 字体系列中的那些字形。编辑以制作导入宏,
\imCYsym[<mathtype>]{<fontfamily>{<glyph number>}}{<macro name>}
默认<mathtype>
为\mathord
。
如果需要从同一字体系列导入多个符号,并且为了避免重新声明重复的字体系列,则可以在声明字体后简单地使用此宏来导入其他符号:
\newcommand\alsoimCMsym[4][\mathord]{\DeclareMathSymbol{#4}{#1}{CM#2}{#3}}
以下是 MWE:
\documentclass{article}
\usepackage{mathptmx}
\usepackage{amsmath}
% =============================================
%Import symbols from font cm without importing the whole package
% =============================================
\newcommand\imCMsym[4][\mathord]{%
\DeclareFontFamily{U} {#2}{}
\DeclareFontShape{U}{#2}{m}{n}{
<-6> #25
<6-7> #26
<7-8> #27
<8-9> #28
<9-10> #29
<10-12> #210
<12-> #212}{}
\DeclareSymbolFont{CM#2} {U} {#2}{m}{n}
\DeclareMathSymbol{#4}{#1}{CM#2}{#3}
}
\newcommand\alsoimCMsym[4][\mathord]{\DeclareMathSymbol{#4}{#1}{CM#2}{#3}}
\imCMsym{cmmi}{124}{\CMjmath}
\imCMsym[\mathop]{cmsy}{113}{\CMamalg}
\imCMsym[\mathop]{cmex}{96}{\CMcoprod}
\alsoimCMsym[\mathop]{cmex}{97}{\CMbigcoprod}
\begin{document}
%$abcdefg$ plus: $\jmath$, $\amalg$ and $\coprod$\par % CAN COMPARE WHEN mathptmx NOT LOADED
Math ptmx $abcdefg$ plus: $\CMjmath$, $\CMamalg$ and $\CMcoprod$\par
Additional symbol from cmex font family$\CMbigcoprod$
\end{document}
答案3
我假设您想要\coprod
,因为这样\prod
不会产生任何问题。您可以通过\prod
沿垂直轴反射和一些调整位置的盒子技巧来伪造它。
\documentclass{article}
\usepackage{mathptmx}
\usepackage{amsmath}
\usepackage{graphicx}
\DeclareRobustCommand{\coprod}{\mathop{\text{\fakecoprod}}}
\newcommand{\fakecoprod}{%
\sbox0{$\prod$}%
\smash{\raisebox{\dimexpr.9625\depth-\dp0}{\scalebox{1}[-1]{$\prod$}}}%
\vphantom{$\prod$}%
}
\begin{document}
\[
\coprod_{i=1}^n
\prod_{i=1}^n
\]
\[
\coprod\prod x
\quad
\textstyle \coprod\prod x
\quad
\scriptstyle \coprod\prod x
\quad
\scriptscriptstyle \coprod\prod x
\]
\end{document}