对于个人歌曲集项目,我使用 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”?或者有其他方法可以实现所需的结果?
请原谅我的英语,我不是以英语为母语的人。