Ký âm pháp với LaTeX

Tôi không biết một tí gì về nhạc lý, tất nhiên là vẫn thích nghe nhạc. Những người sáng tạo ra Music\TeX khuyên: Nếu bạn không biết gì về âm nhạc, tốt nhất đừng đụng đến Music\TeX. Và tôi đã nghe lời khuyên đó.

Tuy nhiên khi sử dụng Ubuntu Linux, tôi biết Phần mềm nguồn mở có một chương trình tên là LilyPond, cho phép viết nhạc với cấu trúc đơn giản và tích hợp vào \LaTeX để thể hiện. Thấy cũng dễ thực hiện, tôi đã thử và viết ra bài này để các bạn giỏi nhạc lý và sử dụng \LaTeX thành thạo có thể thư giản khi đã quá mệt mỏi với các bài báo gồm chằng chịt công thức toán học.

  1. Viết các note nhạc. Các node nhạc tương ứng 1-1 với các chữ cái như sau:
    Do Re Mi Fa Sol La Si
    c d e f g a b

    Sau mỗi note có thể có các số 2,4,8,16 chỉ trường độ.

  2. Luyến âm: mở ngoặc đơn (bắt đầu) ; đóng ngoặc đơn (kết thúc) luyến âm.
  3. Nhịp: \time ; Khóa: clef
  4. lên một quãng 8: dấu nháy , xuống một quãng tám: dấu phảy
  5. Dấu thăng , dấu giáng: es (dấu giáng) ; is (dấu thăng)
  6. Beaming: mở móc [ bắt đầu ; đóng móc] kết thúc beam

Ví dụ 1:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia} 
\begin{document}
\begin{lilypond}
     \score { 
<<
  \relative c'' {
    \key g \major
    \time 6/8
    d4 b8 c4 a8 | d4 b8 g4 g8 |
    a4 b8 c[ b] a | d4 b8 g4. |
  }
  \addlyrics {
    Girls and boys come | out to play,
    The | moon doth shine _ as | bright as day; |
  }
>>
   }
\end{lilypond}
\end{document}

Ví dụ 2:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia} 
\begin{document}
\begin{lilypond}
     \score { 
<<
  % set the starting point to middle C
\relative c' {
  c d e f
  g a b c
}
>>
   }
\end{lilypond}
\end{document}

Ví dụ 3:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia} 
\begin{document}
\begin{lilypond}
     \score { 
<<
 % one octave above middle C
\relative c'' {
  e c a c
}

>>
   }
\end{lilypond}
\end{document}

Ví dụ 4:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia} 
\begin{document}
\begin{lilypond}
     \score { 
<<
\relative c'' {
  a a, c' f,
  g g'' a,, f'
}
>>
   }
\end{lilypond}
\end{document}

Ví dụ 5: Sử dụng note\( note\) và note( note ) để luyến âm.

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia} 
\begin{document}
\begin{lilypond}
     \score { 
<<
\relative c'' {
g4\( g8( a) b( c) b4\)
}
>>
   }
\end{lilypond}
\end{document}

còn tiếp

2 responses to “Ký âm pháp với LaTeX

  1. Nguyễn Duy Uân

    Chào Thầy ạ. Em muốn tạo một môi trường mới để đóng khung các công thức toán học trong khóa luận tốt nghiệp của em ạ. Nghĩa là em tạo môi trường đóng khung thôi, sau đó muốn sử dụng thì gọi môi trường đó ra ạ.
    \documentclass[a4paper]{article}
    \usepackage[utf8]{vietnam}
    \begin{document}
    %tao moi truong moi
    \newenvironment{mybox}{\framebox[100pt]}{}
    %su dung moi truong
    \begin{mybox}
    Day la vi du ve \verb+framebox+
    \end{mybox}
    \end{document}
    Em không hiểu sao kết quả chạy ra chỉ đóng khung 1 ký tự đầu thôi ạ? Làm sao để hộp chứa tự động bao hết nội dung bên trong ạ? Vì em thấy đặt một kích thước cụ thể cho hộp chứa không hay lắm khi nội dung bên trong các hộp chứa có độ dài khác nhau ạ. Em cảm ơn Thầy rất nhiều ạ.

    • Thầy sẽ xem vấn đề này và trả lời em. Thường một văn bản dài trên một dòng em nên bỏ vào một cái hộp có kích thước định sẵn.
      Khi đó ta tạo ra một macro để đóng khung như thầy đã hướng dẫn, với độ rộng của hộp và 0.9\textwidth

      còn nếu văn bản chưa tới một dòng em nên dùng macro có sẵn của LaTeX là \fbox{nội dung}.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s