我正在使用它songs.sty
来创作一本歌本。
我弄清楚了如何通过重新定义来改变歌曲编号框的背景\snumbgcolor
颜色\renewcommand{\snumbgcolor}{green}
。
我还可以使用 更改索引中的背景颜色\renewcommand{\idxbgcolor}{green}
。
有没有简单的方法可以将这些字体颜色改为白色?
梅威瑟:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[usenames]{xcolor}
\usepackage[lyric]{songs}
\renewcommand{\snumbgcolor}{green}
\begin{document}
\begin{songs}{}
\beginsong{Bella Notte}[sr={\footnotesize Mel: Bella Notte}, cr={}]
\beginchorus
Nu er det nat, en vidunderlig nat,
åh så stille Bella Notte
\endchorus
\beginverse
Stjernernes skær, bringer himlen så nær,
jeg vil drømme Bella Notte
\endverse
\endsong
\end{songs}
\end{document}
答案1
也许这不是标准解决方案,但通过列出songs
包中的所有命令并仅保留其中带有“num”的内容latexdef -ll -p songs | grep num
,我找到了命令\printsongnum
。这是对它的重新定义,仅添加了白色:
\renewcommand{\printsongnum}[1]{%
\sffamily \bfseries \LARGE \color{white}#1%
}
@
如果我把它放在你示例的序言中,它似乎有效。由于命令中没有一百个符号,我们假设这不是一个肮脏的伎俩 xD
答案2
我确认它有效,并给出了一个例子。顺便说一句,不需要使用该usenames
选项,因为它现在是默认选项。
% -----------------------------------------------------------------------------
% !Mode:: "TeX:Hard:UTF-8"
% PDFLaTeX this document and view or print it from Acrobat Reader!
% -----------------------------------------------------------------------------
% Preamble Starts here:
% -----------------------------------------------------------------------------
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[lyric]{songs}
\usepackage[svgnames]{xcolor}
\renewcommand{\snumbgcolor}{SeaGreen!60}
\renewcommand{\printsongnum}[1]{\color{white}\bfseries\Huge#1}
\begin{document}
\begin{songs}{}
\beginsong{How doth the little crocodile}[by={Lewis Carroll}]
\beginverse
How doth the little crocodile\\
Improve his shining tail,\\
And pour the waters of the Nile\\
On every golden scale! \bigskip
How cheerfully he seems to grin,\\
How neatly spreads his claws,\\
And welcomes little fishes in\\
With gently smiling jaws!
\endverse
\endsong
\end{songs}
\end{document}