xstring 测试:需要帮助测试使用 leadsheets 包排版的和弦

xstring 测试:需要帮助测试使用 leadsheets 包排版的和弦

对于个人歌曲集项目,我使用 leadsheets 包。稍后,我想根据歌曲的和弦自动排版吉他和弦图,即使歌曲通过 leadsheets 选项转调。目前,我甚至无法运行基本的 MWE 检查要打印的和弦。

我尝试使用 xstring 的 \IfEqCase,但没有成功:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{inputenc}

\usepackage{leadsheets}
\usepackage{xstring}

\setchords{
  sharp = \#,
  flat = b,
}

\newcommand{\myiftest}[1]{%
  \textbf{Argument:} #1 \\%
  \textbf{IfEqCase:} %
  \IfEqCase{#1}{%
  {C}{C Major}%
  {Db}{Db Major}%
  }[Unknown chord: #1]%
}

\begin{document}
  \begin{song}[transpose=1]{key=C} % chords are transposed up one semitone, C becomes Db
    \textbf{Chord:} \writechord{C} \\
    \myiftest{\writechord{C}}
  \end{song}
\end{document}

其结果是:

在此处输入图片描述

我期望输出为“Db Major”。我必须做什么才能让 \IfEqCase 正确识别参数为字符串“Db”?或者有其他方法可以实现所需的结果?

请原谅我的英语,我不是以英语为母语的人。

相关内容