zoukankan      html  css  js  c++  java
  • Musixtex写五线谱

    这学期修了一门方法和写作课,从中接触到了LaTeX,最后作业被分到用LaTeX写乐谱((lll¬ω¬))

    LATEX 中的Music-TeX 宏包提供了一个music 环境和整套音乐符号命令,可排版多声部乐曲或交响乐总谱。通常,LaTeX源文件主要是由文本和控制命令构成,而MusicTeX 源文件主要是由音符标记命令和控制命令组成,看起来很复杂,可一旦掌握,就能排版高质量的五线谱。MusicTeX 宏包尚有些缺陷,如圆滑线不够圆滑等,现在逐渐被MusiXTeX 宏包所取代。MusiXTeX 宏包以MusicTeX 为基础并进一步改进提高,MusicTeX 中的绝大部分命令依然有效或被兼容,少部分有所改动,另外还增加许多新的记谱命令,使其乐谱排版功能更为强大。MusiXTeX 最重要的改进之处就是采用三步编译法,使圆滑线和连接线更为滑流畅。

    步骤一

    我使用的LaTeX环境是TeXLive 2017 + TeXstudio(顺便安利一下)。当然,里面已经包含了MusixTeX宏包,所以就直接上手了。

    一个例子

    参考Musixtex官方给的例子:

    documentclass{article}
    usepackage{Musixtex}
    usepackage{amsfonts}
    usepackage{CJK}
    egin{document}
    	egin{music}
    	parindent10mm
    	instrumentnumber{1} % a single instrument
    	setname1{Piano} % whose name is Piano
    	setstaffs1{2} % with two staffs
    	generalmeter{meterfrac44} % 4/4 meter chosen
    	startextract % starting real score
    	Notesibu0f0qb0{cge}	bu0qb0g|hl jen
    	Notesibu0f0qb0{cge}	bu0qb0g|ql lskql nen
    	ar
    	Notesibu0f0qb0{dgf}|qlp ien
    	
    otes	bu0qb0g|ibbl1j3qb1j	bl1qb1ken
    	Notesibu0f0qb0{cge}	bu0qb0g|hl jen
    	zendextract % terminate excerpt
    	end{music}
    end{document}

    编译一下得到这样的谱子:
    这里写图片描述

    所以一个乐谱的主体就是begin{music}和end{music}之间的部分,这里面先是有格式的描述,接着是各个音符的表示(不懂音乐,音符什么的只能依葫芦画瓢,一个音一个音地试,心累)。

    自己写的一个版本

    网上送了《送别》的谱子,对着谱子用LaTeX写了一遍:

    documentclass[a4paper]{article}
    usepackage{Musixdoc}
    usepackage[UTF8]{ctex}
    usepackage{amsfonts}
    usepackage{CJK}
    egin{document}
        	itle{送别}
        date{ }    
        maketitle
    
        egin{music}
            %hsize=160mm
    
            parindent10mm
            instrumentnumber{1} % a single instrument
            setname1{Piano} % whose name is Piano
            setstaffs1{2} % with two staffs
            setclef1ass
            generalmeter{meterfrac44}% 4/4 meter chosen
            startextract % starting real score
    
    
            NotesQqbbu CGJL Dqbl NL Qqbbu CGJL Dqbl NL|zcharnote{N}{} qu {g***} zcharnote{N}{}Dqbu eg zcharnote{N}{}hl {j***}en
            ar 
            NotesQqbbu FJMa Dqbl ca Qqbbu CGJL Dqbl NL|zcharnote{N}{} qu {h***}zcharnote{N}{} ql {j*} zcharnote{N}{} hu {g***} en endpiece
            zendextract % terminate excerpt
        end{music}
    %2
    egin{music}
    
        parindent10mm
        instrumentnumber{1} % a single instrument
        setname1{} % whose name is Piano
        setstaffs1{2} % with two staffs
        setclef1ass
        generalmeter{meterfrac44}% 4/4 meter chosen
        startextract % starting real score
    
        NotesQqbbu CGJL Dqbl NL Qqbbu CGJL Dqbl NL Dqbl NL|zcharnote{N}{} qu {g***}zcharnote{N}{} Dqbu cd zcharnote{N}{} qu {e***} zcharnote{N}{} Dqbu dcen
        ar
        NotesQqbbu GKNb Dqbl ML Qqbbu CGJL Dqbl NL|zcharnote{N}{} hup {d*********} qp en endpiece
    
        zendextract % terminate excerpt
    end{music}
    %3
    egin{music}
        parindent10mm
        instrumentnumber{1} % a single instrument
        setname1{} % whose name is Piano
        setstaffs1{2} % with two staffs
        setclef1ass
        generalmeter{meterfrac44}% 4/4 meter chosen
        startextract % starting real score
    
        NotesQqbbu CGJL Dqbl NL Qqbbu CGJL Tqbl N*L|zcharnote{N}{} qu {g***}zcharnote{N}{} Dqbu eg zcharnote{N}{} qlp {j***} zcharnote{N}{} cl {**i} en
        ar
        NotesQqbbu FJMa Dqbl ML Qqbbu CGJL Dqbl NL|zcharnote{N}{} qu {h***}zcharnote{N}{} ql {j*} zcharnote{N}{} hu {g***}en endpiece
        zendextract % terminate excerpt
    end{music}
    %4
    egin{music}
        parindent10mm
        instrumentnumber{1} % a single instrument
        setname1{} % whose name is Piano
        setstaffs1{2} % with two staffs
        setclef1ass
        generalmeter{meterfrac44}% 4/4 meter chosen
        startextract % starting real score
    
        NotesQqbbu GKLN Dqbl db Qqbbu GKLN Tqbl d*b|zcharnote{N}{} qu {g***}zcharnote{N}{} Dqbu de zcharnote{N}{} qup {f***} zcharnote{N}{} cu {**b}en
        ar
        NotesQqbbu CGJL Dqbl NL Qqbbu CGJL Dqbl NL|zcharnote{N}{} hup {c*********} qp en endpiece
        zendextract % terminate excerpt
    end{music}
    %5
    egin{music}
        parindent10mm
        instrumentnumber{1} % a single instrument
        setname1{} % whose name is Piano
        setstaffs1{2} % with two staffs
        setclef1ass
        generalmeter{meterfrac44}% 4/4 meter chosen
        startextract % starting real score
    
        NotesQqbbu FJMa Dqbl ca Qqbbu FJMa Dqbl ca|zcharnote{N}{} qu {h***}zcharnote{N}{} ql {j*} zcharnote{N}{} hl {j***}en
        ar
        NotesQqbbu GKNb Dqbl db Qqbbu CGJL Dqbl NL|zcharnote{N}{} ql {i***} zcharnote{N}{} Dqbu hi zcharnote{N}{} hl {j***}enendpiece
        zendextract % terminate excerpt
    end{music}
    %6
    egin{music}
        parindent10mm
        instrumentnumber{1} % a single instrument
        setname1{} % whose name is Piano
        setstaffs1{2} % with two staffs
        setclef1ass
        generalmeter{meterfrac44}% 4/4 meter chosen
        startextract % starting real score
    
        NotesQqbbu FJMa Dqbl ca Qqbbu CGJL Dqbl NL|zcharnote{N}{} ibu0f0qb0{h*i*j}	bu0qb 0h ibu0f0qb0{h*g*e}	bu0qb 0cen
        ar
        NotesQqbbu GKNb Dqbl db Qqbbu GKNb Dqbl db|hup {d*********} qpenendpiece
        zendextract % terminate excerpt
    end{music}
    %7
    egin{music}
        parindent10mm
        instrumentnumber{1} % a single instrument
        setname1{} % whose name is Piano
        setstaffs1{2} % with two staffs
        setclef1ass
        generalmeter{meterfrac44}% 4/4 meter chosen
        startextract % starting real score
    
        NotesQqbbu CGJL Dqbl NL Qqbbu CGJL Tqbl N*L|qu {g***}Dqbu eg qlp {j***} cl {**i}en
        ar
        NotesQqbbu FJMa Dqbl ca Qqbbu CGJL Dqbl NL|qu {h***} ql {j*} hu {g***}enendpiece
        zendextract % terminate excerpt
    end{music}
    %8
    egin{music}
        parindent10mm
        instrumentnumber{1} % a single instrument
        setname1{} % whose name is Piano
        setstaffs1{2} % with two staffs
        setclef1ass
        generalmeter{meterfrac44}% 4/4 meter chosen
        startextract % starting real score
    
        NotesQqbbu GKNb Dqbl db Qqbbu GKNb Tqbl d*b|qu {g***}Dqbu de qup {f***} cu {**b}en
        ar
        NotesQqbbu CGJL Dqbl NL zh Jzh Lhl N|hup {c******} qp enendpiece
        zendextract % terminate excerpt
    end{music}
    end{document}
    

    出来效果是这样:
    这里写图片描述
    说实话,太丑了(没有对齐、歌词和音符有重叠),没办法再改要吐血了(lll¬ω¬)。

    总结

    和所见即所得的MS word 不同,LaTeX写起来就像是在写代码,门槛有点高,要达到熟练我还是算了吧,能自己谢谢论文,做个ppt就可以了ε=ε=ε=┏(゜ロ゜;)┛。

  • 相关阅读:
    Jdk 1.6 在线 API 中文版
    数据库的最简单实现
    互联网公司GitHub repo 语言使用情况
    Chrome浏览器查看 iframe信息 OpenFrame
    PostgreSQL 保存json,jsonb类型
    修改PS1变量
    postgres json
    PostgreSQL PL/Python 和 PL/Postgres 函数互相调用
    转:CentOS 6.x 挂载读写NTFS分区(fuse-ntfs-3g)
    CentOS 7 设置静态IP
  • 原文地址:https://www.cnblogs.com/born2run/p/9581420.html
Copyright © 2011-2022 走看看