musixtex 中音钢琴动态的问题

musixtex 中音钢琴动态的问题

我正在尝试使用该musixtex包在我的文本上使用力度标记。除了中音钢琴标记 (\mp) 无法识别外,它运行良好。根据手册(第 2.17.5 节),我的代码是正确的(http://icking-music-archive.org/software/musixtex/musixdoc.pdf)。有人能发现这里出了什么问题吗?

\documentclass{article}
\usepackage{musixtex}
\begin{document}
\pppp, \ppp, \pp, \p, \mf, \f, \ff, \fff, \ffff, \sF % all these work fine
\mp % but this doesn't
\end{document} 

答案1

\mp实际上是它自己定义的命令\LaTeX,并且只能在数学模式(产生)下使用,这就是出现错误的原因。要覆盖该命令,只需\let\mp\mezzopiano在 后添加\usepackage{musixtex}

请注意,这样做会覆盖LaTeX其他软件包可能会或可能不会严重依赖的命令 - 或者至少期望以某种方式工作。

\mezzopiano如果不想覆盖,您也可以使用较长的名称\mp


作为\mp一个LaTeX宏,包会小心地避免覆盖它。而其他所有命令都按预期定义,例如中强音\def\mf{{\ppff m\p@kern\f@kern f}}musixtex.tex中音钢琴定义为:(\def\mp@{{\ppff m\p@kern p}}注意@);紧接着,更长的命令\mezzopiano定义如下:\let\mezzopiano\mp@

类似地,强音不会被调用\sf,但\sF可以避免与重要的LaTeX宏发生冲突(\sf切换到无衬线字体)。按照该示例,您可以使用\let\mP\mezzopiano而不是\let\mp\mezzopiano,这样就不会覆盖标准命令。

\documentclass{article}
\usepackage{musixtex}
\let\mp\mezzopiano
\begin{document}
\pppp, \ppp, \pp, \p, \mf, \f, \ff, \fff, \ffff, \sF
\mp
\end{document} 

相关内容