LaTeX制作吉他谱

搜索了一下用LaTeX制作吉他谱的网页,发现几乎没有中文的,我来写一个吧。

作为免费的专业排版软件,LaTeX的特长是数学公式的排版和参考文献的管理。如果配合上各种扩展包,就可以做出更多意想不到的事情,比如说输入吉他和弦谱。

插图:LaTeX制作的吉他和弦谱示例

这个吉他谱的扩展包是一位名叫Kasper Peeters的仁兄十几年前开发的。我几年前就被这个扩展包迷住了,有相逢恨晚的感觉。用这个扩展包制作吉他谱,制作的过程灵巧便捷,制作的结果赏心悦目。

这个扩展包的使用示例可以直接去ctan的gchords页面下载。只需把 chord­box.tcl,gchords.sty 和 get2­knowu.tex 三个文件下载保存在同一文件夹里,对 get2­knowu.tex 用LaTeX编译,就会生成一首示例英文歌曲的和弦谱。

可惜的是,原版的示例文件并不支持中文字符的排版;要想录入中文歌曲的吉他谱,需要做一些修改。这个我已经做好了:

1、 把原来的一个tex文件分成了两个,这样每次有新歌输入的话,不用更改主文档Compileme.tex,只需在子文档Example.tex里照例子输入新歌,然后编译Compileme.tex就行了。
2.、在两个文档里增加了中文支持:

\XeTeXinputencoding "GB18030"       % 设置中文解码。每个子文档的开头都必须设置。
\usepackage{xltxtra}            % 支持\XeTeX。
\usepackage{fontspec}           % 支持中文破折号(把--转成m dash)。
\setmainfont{Microsoft YaHei}       % 更改默认字体。cmd下用"fc-list :lang=zh"查已有的中文字体

3、为了省事,新增了个cmd文件,编译的时候直接双击这个文件就行了。

对于新手来说,要做的事情就是:点击下载我的示例文件,解压缩,然后双击Compileme.bat就可以看结果了。

给新的歌曲制作和弦谱,只需预先把需要的和弦指法定义一下,然后在歌曲里对应位置插入这个指法的名称, 就可以了。比如,A和弦是这么定义的:

\newcommand{\A}{\chord{t}{x,n,p2,p2,p2,n}{A}}

其中,{\A}是指法名称,\chord{t}表示指法图从吉他指板顶端开始,{x,n,p2,p2,p2,n}表示第6弦不要碰(x),第5弦和第1弦为空弦(n),其他三根弦按住第2品(p2)。 {A}表示和弦图显示的名称。示例中给出了很多常用和弦的定义。如果需要添加新的,那么照猫画虎就行了。歌曲里调用和弦的时候是这样的:

 我祈求\upchord{\C }星辰 月儿来\upchord{\Dm}作证

这样,就给“星”和“作”上分别加入了C和弦和Dm和弦指法图。

当然,前提是电脑里已经安装好了CTeX。

LaTeX制作吉他谱》上有9条评论

    1. 大鹏 文章作者

      本帖其实就是在回答一个问题:文中的插图是怎么做出来的……

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax