% abc_manual.tex  -*- LaTeX -*-
%
% By Guido Gonzato, guido.gonzato@univr.it
%
% Portuguese translation by 
%        Alberto Simões, albie@alfarrabio.di.uminho.pt
%
% Last updated: 7 March 2003

% TODO: revise it

% This document converts in PDF only

\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[portuges]{babel}
\usepackage{color}
\usepackage[pdftex]{graphicx}
\pdfcompresslevel=9
\usepackage[colorlinks,urlcolor=blue]{hyperref}
\usepackage{url}
\usepackage{times}
%\usepackage{framed} % not included in teTeX!!!
\usepackage{fancyhdr}
\usepackage{fancyvrb}
\usepackage{fancybox}
\usepackage{setspace}
\usepackage{boxedminipage}
\usepackage{marvosym}
\usepackage{wasysym} % for \twonotes

\setlength{\oddsidemargin}{0mm}
\setlength{\evensidemargin}{0mm}
\setlength{\textwidth}{160mm}
\setlength{\topmargin}{-10mm}
\setlength{\textheight}{240mm}

\setlength{\parindent}{0pt}
\setlength{\parskip}{3pt}

\definecolor{shadecolor}{rgb}{0.95,0.95,1}

% definitions

\def\version      {1.0.3pre1}
\def\abcmdev      {3.4.1}
\def\abcmstb      {2.11.3}
\def\ABC          {\textsc{abc}}
\def\ABCP         {\textsc{abc}$+$}
\def\abcm         {\texttt{abcm\-2ps}}
\def\abcpp        {\texttt{abc\-pp}}
\def\abcmid       {\texttt{abc\-2mi\-di}}
\def\abcprt       {\texttt{abc\-2prt}}
\def\ps           {\textsc{Post\-Script}}
\def\reg          {\textsuperscript{\textregistered}}
\def\abcext       {\marginpar{\textcolor{red}{\ABCP}}}
\def\bl           {\textbackslash}

% new commands

\newcommand{\entry}[2]
{\textsf{#1/#2}}

\newcommand{\app}[1]
{\texttt{#1}}

\newcommand{\menu}[1]
{\textsf{#1}}

\newcommand{\file}[1]
{\texttt{#1}}

\newcommand{\field}[1]
{\texttt{#1}}

\newcommand{\cmd}[1]
{\texttt{#1}}

\newcommand{\parm}[1]
{\textit{#1}}

\newcommand{\car}[1]
{``\texttt{#1}''}

\newcommand{\noteseparator}
{
  \begin{center}
    \twonotes \twonotes \twonotes \twonotes \twonotes 
  \end{center}
}

\newenvironment{margins}[2]
{ % begin def 
  \begin{list}{} 
  {
    \setlength{\leftmargin}{#1}
    \setlength{\rightmargin}{#2}
  } \item
}
{\end{list}}

\newenvironment{note}
{ % beg def
  \medskip
  \begin{minipage}[t]{0.1\linewidth}
    \vspace{0pt}
    \Huge{\Writinghand}
  \end{minipage}%
  \begin{minipage}[t]{0.9\textwidth}
    \vspace{0pt}
    \begin{small}
}
{ % end def
  \end{small}
  \end{minipage}
  \medskip
}

\newenvironment{warn}
{ % beg def
  \medskip
  \begin{minipage}[t]{0.1\linewidth}
    \vspace{0pt}
    \Huge{\Pointinghand}
  \end{minipage}%
  \begin{minipage}[t]{0.9\textwidth}
    \vspace{0pt}
    \begin{small}
}
{ % end def
  \end{small}
  \end{minipage}
  \medskip
}

\newenvironment{btw}
{ % beg def
  \begin{small}
  \begin{spacing}{0.95}
  \setlength{\parindent}{0.5cm}
}
{ % end def
  \end{spacing}
  \end{small}
  \setlength{\parindent}{0cm}
}

\newenvironment{vimp}
{ % beg def
  \medskip
  \begin{minipage}[t]{0.1\linewidth}
    \vspace{0pt}
    \Huge{\Stopsign}
  \end{minipage}%
  \begin{minipage}[t]{0.9\linewidth}
%    \begin{shaded}
    \vspace{0pt}
    \begin{small}
}
{ % end def
  \end{small}
%  \end{shaded}
  \end{minipage}
  \medskip
}

\newcommand{\score}[1]
{
\begin{margins}{-1cm}{-1cm}
  \includegraphics[width=\linewidth]{scores/#1.png}
\end{margins}
}

\newcommand{\scorepage}[1]
{
  \includegraphics[width=\linewidth]{scores/#1.png}
}

% ----- Let's start -----

\pagestyle{empty}

\begin{document}

\setcounter{tocdepth}{3}

\title{\Huge{Uso de \ABC{} para escrever Música}}
\author{Guido Gonzato, Ph.D.\\
  \texttt{<guido.gonzato@univr.it>}}

\date{Version \version\\ \today\\\vskip 1cm
\textit{Tradução para Português por Alberto Simões\\albie@alfarrabio.di.uminho.pt}}

\maketitle

\begin{center}
  \fbox{\includegraphics[width=.6\textwidth]{scores/titlepage.png}}
\end{center}

\thispagestyle{empty}
\begin{abstract}
  Este manual é dedicado a todos aqueles que desejam criar música na
  notação \ABC. Descreve os elementos da linguagem \ABC{} com inúmeros
  exemplos práticos, progredindo de melodias simples a partituras
  polifónicas complexas. É dado especial ênfase em parâmetros de
  formatação de forma a obter partituras profissionais.
\end{abstract}

\twocolumn
\footnotesize
\tableofcontents
\listoftables
\listoffigures
\normalsize
\onecolumn
\pagestyle{fancy}

% -----

\part{Música com \ABC}

\section{Introdução}

Músicos que usem computadores podem obter vários programas para
escrever músicas. A maior parte destes programas usa uma abordagem
\emph{gráfica}: o utilizador coloca notas com o rato numa partitura
apresentada no écran.

Uma abordagem alternativa é a escrita de música usando uma
\emph{notação textual}. Este é um modo não gráfico, que use caracteres
para representar as notas e outros símbolos. Um programa traduz esta
notação textual numa folha de música ``normal'' (como o formato PDF)
e/ou num ficheiro MIDI.

\begin{btw}
  Programas gráficos são mais intuitivos e mais simples para iniciantes,
  mas as notações textuais permitem transcrições mais rápidas e têm outras 
  vantagens. Nenhum dos métodos é ``o melhor'': só o resultado conta!
\end{btw}

Muitas notações textuais foram inventadas. O \ABC{} é um dos melhores:
sendo fácil de aprender e suficientemente poderosa, é muito popular em
música popular. Centenas de músicas no formato \ABC{} estão
disponíveis na Internet.

O objectivo deste manual é introduzir o leitor à notação \ABC{} e à
notação e programas relacionados, com o objectivo de produzir folhas
de música profissionais. Se quer fazer uma folha de música para o seu
coro ou banda, ou fazer um livro de canções, ou talvez apenas ensinar
música, encontrou a ferramenta ideal!

% -----

\subsection{Software}

O endereço de Internet oficial para a notação \ABC{} é
\url{http://www.gre.ac.uk/~c.walshaw/abc}, onde irá encontrar ligações
para colecções de canções, software e documentação. Um outro,
\url{http://abcplus.sf.net} providencia software e documentação para
uma versão melhorada do \ABC{} chamada \ABCP. Este guia irá trabalhar
com o \ABCP.

Um dos melhores programas para converter músicas \ABC{} em folhas de
música é \marginpar{\textbf{abcm2ps}} \abcm, um programa livre de
software disponível de acordo com a licença GNU GPL. Este pequeno
programa (menor do que 200k!) é muito poderoso, e pode produzir folhas
de música bonitas com todos os parâmetros de formatação adaptáveis
pelo utilizador.

O \abcm{} lê ficheiros \ABC{} e converte-os para \ps, que pode ser
visualizado e impresso com outra aplicação livre: Ghostscript. Esta
aplicação converte ficheiros \ps{} em vários formatos, entre os quais
o mais importante é o Acrobat PDF.

O autor do \abcm{} disponibiliza duas versões do seu programa, uma
delas estável e outra em desenvolvimento. Esta última é actualizada
quase semanalmente, e tem muitas novidades. Na altura da escrita deste
documento, a versão estável mais recente é \abcmstb, e a versão
de desenvolvimento é \abcmdev. Este guia irá descrever esta última.

\begin{btw}
  Existem outros conversores de \ABC-\ps{}, mas neste guia apenas o
  \abcm{} irá ser usado: na altura de escrita deste documento é, sem
  dúvida, o mais completo. Se está interessado em usar outros
  conversores, procure as ligações para software na página de Internet
  do \ABC{}.
\end{btw}

Para escrever ficheiros \ABC{} é necessário, obviamente, um editor.
Pode usar um editor simples como o Windows' Notepad, mas o uso de um
editor dedicado torna a vida mais simples. Na página de Internet do
\ABC{} são listados vários. EU uso o editor Jed com a
\marginpar{\textbf{JedABC}} extensão JedABC: um programa que torna a
escrita de música em \ABC{} muito mais simples e mais rápida.

O JedABC dá uma diferente cor a cada nota, toca-as logo que o
utilizador as insere, e converte a música para \ps{} de forma
automática, e muito mais. Talvez a propriedade mais interessante do
JedABC é que evita o uso da linha de comando, que irei demonstrar mais
tarde.

Outro programa útil é o \marginpar{\textbf{abc2midi}} \abcmid, que
converte ficheiros \ABC{} em ficheiros MIDI. Irei mencionar este
programa mais tarde.

\begin{note}
  Caro leitor, se já conhece a notação \ABC{} aviso-o de que: neste
  guia irei quebrar de forma vergonhosa o standard. A notação \ABC{}
  ``pura'' não permite a escrita de música clássica, ou mesmo algumas
  peças para piano! Este guia encoraja o uso das várias versões
  melhoradas do standard, que serão indicadas como notas de margem.
\end{note}

\begin{center}
\begin{figure}[htbp]
    \includegraphics[width=\linewidth]{images/jedabc.png}
  \caption{Exemplo de escrita de uma música com o JedABC.}
\end{figure}
\end{center}

% -----

\subsection{Motivação}

Porquê aprender \ABC{} quando a vida pode ser muito mais simples
usando um programa gráfico? Bem, as notações gráficas (e especialmente
o \ABC{}) têm muitas vantagens:

\begin{itemize}
  
\item quase todos os programas para criar música com o \ABC{} são
  livres, e podem ser copiados livremente e partilhados com os seus
  amigos ou alunos;
  
\item os programas que usam \ABC{} são muito compactos e podem
  funcionar em computadores antigos, ou mesmo computadores de
  bolso;\footnote{Muitas vezes transcrevo os meus exercícios de canto
    no meu computador de bolso usando um programa chamado PalmABC, e
    vou estudar para o parque!}
  
\item a qualidade das folhas de música que se podem obter usando
  ferramentas \ABC{} são comparáveis (se não melhores) aos programas
  comerciais famosos;
  
\item as partituras são criadas em ficheiros \ps{} ou PDF e não em
  formatos proprietários. Desta forma, pode partilhar as suas músicas
  com toda a gente, e não apenas com aqueles que têm o software que as
  produziu;
  
\item o \ABC{} é fácil de ler, e depois de alguma prática torna-se
  bastante intuitivo;
  
\item inserir partituras feitas em \ABC{} em páginas de Internet ou
  num processador de texto é feito de forma fácil;
  
\item em muitos casos, o \ABC{} é mais flexível e simples de usar do
  que programas gráficos;
  
\item escrever uma música em \ABC{} é \emph{muito mais} rápido do que
  usando um programa gráfico;
  
\item se ensina música, o \ABC{} é uma ferramenta valiosa que facilita
  a aprendizagem;
  
\item a minha própria opinião, é que escrever música em \ABC{} é muito
  mais divertido!
\end{itemize}

Em troca destas vantagens, o \ABC{} necessita que use algum tempo a
estudar. Este guia será, espero, um bom início, mas recomendo que
arranje algumas partituras para ver exemplos reais do \ABC{} em acção.
A página de Internet do \ABC{} tem muitas ligações a colecções de
ficheiros \ABC.

% -----

\subsection{Requisitos}

Irei assumir que tem um PC com Windows, Linux, ou *BSD, e que está
razoavelmente familiarizado com computadores. Conhecimento da linha de
comandos do DOS ou Linux não são necessários.

Outro requisito obvio é que saiba ler música: clave de sol e duas oitavas
a iniciar do dó central deverá ser suficiente.

Uma nota pessoal: não sou um músico profissional, e o meu passado
musical é de tipo clássico (canto como tenor num coro, e toco flauta).
Por outro lado, a notação \ABC{} é popular nos músicos de folclore
Anglo-Saxónico. Eu não sei nada sobre música Anglo-Saxónica. Desta
forma, este manual irá reflectir a minha própria visão do que pode ser
feito com o \ABC. Não irei descrever tablaturas, claves esquisitas,
etc.

% -----

\subsection{Como é feito}

Para escrever música com o \abcm{} deve seguir estes passos:
\begin{enumerate}
\item usando o JedABC ou outro editor, escrever a música usando a
  notação \ABC;

\item converter a música usando o \abcm, criando um ficheiro \ps;

\item ver o ficheiro \ps{} com o Ghostscript;

\item possivelmente, converter o ficheiro \ps{} em PDF;

\item finalmente, partilha a partitura com outros!
\end{enumerate}

% -----

\subsection{Instalação dos Programas}

São nestas páginas de Internet que pode encontrar os vários programas:

\begin{itemize}

  \item o processador \abcm{}:\\
    \url{http://moinejf.free.fr},\\
    \url{http://abcplus.sourceforge.net}
  
  \item GhostScript e GhostView:\\
    \url{http://www.cs.wisc.edu/~ghost}

  \item O editor Jed:\\
    \url{http://space.mit.edu/~davis/jed}
  
  \item JedABC:\\
    \url{http://abcplus.sourceforge.net}
  
\end{itemize}

Copie os programas, e depois instale o GhostScript e o GhostView da
forma habitual do Windows.\footnote{Estas aplicações existem de raíz
  no Linux} A instalação do \abcm{} é ligeiramente mais complexa,
porque é um programa de linha de comando. Em Windows 95/98/ME, siga
estes passos:
\begin{enumerate}
\item crie uma pasta e chame-lhe \file{C:\bl{}TOOLS};

\item desenpacote o arquivo que contém o \abcm{} em qualquer pasta, e
  copie o ficheiro \file{abcm2ps.exe} para a pasta
  \file{C:\bl{}TOOLS};

\item execute o Notepad (bloco de notas) e abra o ficheiro
  \file{C:\bl{}autoexec.bat};
  
\item \label{step:path} mova-se para o fundo do documento e insira
  esta linha:\\
  \texttt{set PATH=C:\bl tools;\%PATH\%}

\item grave, saia da aplicação e reinicie o Windows;
  
\item \label{step:verify} depois de reiniciar, abra uma janela DOS e
  escreva o comando \texttt{abcm2ps};
  
\item se um grande conjunto de informação aparecer, significa que a
  sua instalação está correcta;
  
\item se apareceu uma mensagem de erro, irá ter de verificar com
  cuidados os passos anteriores.
\end{enumerate}

No Windows NT/2000/XP, tem de:
\begin{enumerate}
\item use o botão direito do rato sobre o icon do ``My Computer/O meu
  computador'';
\item clique em ``Properties/Propriedades'', e depois em
  ``System Environment/Ambiente do Sistema'' (Windows NT) ou
  ``Environment/Ambiente'' (Windows 2000);
\item mude a variável de sistema \texttt{PATH} como mostrado no
  passo~\ref{step:path} acima;
\item abra uma janela de DOS e verifique a instalação de acordo com o
  passo~\ref{step:verify} acima mencionado.
\end{enumerate}

\begin{vimp}
  Recomendo vivamente que leia a documentação do JedABC antes de
  continuar com este guia! Em particular, sugiro que desligue a
  ``Autobar'' enquanto escreve os seus primeiros ficheiros \ABC.
\end{vimp}

% -----

\subsection{A nossa Primeira Partitura}
\label{sec:first}

Depois de instalar os vários programas, está pronto para escrever a
nossa primeira partitura.

Uma música escrita em \ABC{} consiste de duas partes: um
\emph{cabeçalho} e um \emph{corpo}, que são escritos num ficheiro
\ABC. O cabeçalho contem informação sobre a música como seja o título,
autor, tonalidade, etc; estas peças de informação são escritas em
\emph{campos}. O corpo do ficheiro contém a música.

Um ficheiro \ABC{} pode conter várias músicas, separadas por uma ou
mais linhas em branco. Cada música tem o seu próprio cabeçalho e
corpo. O ficheiro que contém a notação \ABC{} também é chamado de
\emph{fonte} das músicas. Alguns campos também podem aparecer no
corpo.

Embora não pertençam à notação \ABC{}, muitos comandos estão
disponíveis para especificar o formato da página: formato do papel,
margens, tipos de letra, espaçamentos e outros.

Como primeiro exemplo, vamos escrever a escala de dó maior, para
estudar a \emph{fonte} com cuidado. Inicie o JedABC, escolha
\entry{File}{Open}, escolha uma directoria de trabalho, insira o nome
\file{escala1.abc} e copie este código \emph{tal e qual}\footnote{Nota
  do tradutor: em Portugal não é habitual o uso de letras para
  representar as notas. Aqui fica a equivalência entre as notas e as
  letras: dó = c, ré = d, mi = e, fá = f, sol = g, lá = a, si = b}:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1 % início do cabeçalho
K: C % tonalidade: dó maior
% dó maior, duas oitavas
C D E F G A B c | c d e f g a b c' | 
% fim do ficheiro escala1.abc
\end{Verbatim}
%\end{shaded}

Note que o texto fica colorido; mais tarde irá perceber porquê. Grave
e escolha \entry{Mode}{Convert to PostScript}. No fundo do JedABC irá
aparecer esta linha:
\begin{Verbatim}[fontsize=\small]
Convert with: abcm2ps -O= -c escala1.abc
\end{Verbatim}

Esta linha de comando permite que o utilizador especifique parâmetros
para o \abcm, que iremos examinar mais tarde. Apague o \car{-c} e
pressione na tecla Enter: \abcm{} irá executar e converter o código em
\ps.

Se tudo correu bem, irá aparecer esta linha:
\begin{Verbatim}[fontsize=\small]
Conversion to PostScript succeeded!
\end{Verbatim}

Depois, seleccione \entry{Mode}{View PostScript} para executar o
GhostView (ou outro visualizador de \ps) e examine a pauta. Deverá ter
o seguinte aspecto:
\score{scale1}

\bigskip

Para converter a partitura em PDF:
\begin{itemize}
\item Os utilizadores Windows irão seleccionar
  \entry{File}{Convert{\ldots}}, colocar \cmd{pdfwrite} como tipo de \emph{output}, e
  escolher uma resolução em dpi\footnote{dots per inch: pontos por polegada}; Sugiro 600 dpi.
\item para utilizadores Linux ou de outros Unix, inicie uma linha de comando e use o
  comando:\\
  \cmd{ps2pdf nomeficheiro.ps}
\end{itemize}

\begin{vimp}
  Provavelmente, os utilizadores de Linux irão precisar de definir uma
  variável de ambiente para que o \cmd{ps2pdf} produza o formato A4. Insira
  esta linha no \file{/etc/profile}:
  
  \medskip
  
  \cmd{export GS\_OPTIONS="-sPAPERSIZE=a4"}
  
  \medskip
  
  Se usa o visualizador \cmd{gv}, esta atento porque este programa não
  mostra as margens da página correctamente.
\end{vimp}

\medskip

Vamos agora tentar criar um erro: insira o caracter \car{\#} em vez da primeira
barra \car{\textbar}. Grave e tente converter; irá obter este mensagem:

\begin{Verbatim}[fontsize=\small]
Error found at this position!
\end{Verbatim}

O cursor irá ser movido para o caracter que causou o erro. Agora,
corrija o erro e converta-o de novo.

Agora, vamos examinar o que escrevemos na \emph{fonte}. Começa com
dois campos no cabeçalho: \marginpar{\field{X:}} \field{X:} (index --
índice) e \marginpar{\field{K:}} \field{K:} (key -- tonalidade). Estes
são os únicos campos obrigatórios. O \field{X:} é seguido sempre por
um número que é usado para identificar as músicas escritas no mesmo
ficheiro. O caracter \car{\%} inicia um comentário; tudo o que lhe
segue até ao fim da linha é ignorado.

Opcionalmente, os campos podem conter espaços. \field{X:1} e \field{X:
  1} são equivalentes.

O campo \field{K:} especifica a tonalidade; \car{C} significa ``dó maior''.
Em alguns países, as notas são escritas como ``dó ré mi fá sol lá si''; se
vive num destes países, a tabela~\ref{tab:note} compara as notas escritas
em Inglês ou na notação Latina.

\begin{table}
\begin{center}
  \begin{tabular}{|l|l|}
  \hline
  \textbf{Notas em Latim} & \textbf{Notas em Inglês} \\
  \hline
  Dó & C \\
  Ré & D \\
  Mi & E \\
  Fá & F \\
  Sol & G\\
  Lá & A \\
  Si & B\\
  \hline
  \end{tabular}
  \caption{Comparação entre os nomes das notas nas diferentes notações.}
  \label{tab:note}
\end{center}
\end{table}

O campo \field{X:} tem de ser sempre \emph{o primeiro} no cabeçalho,
enquanto que o campo \field{K:} tem de ser sempre \emph{o último}. Os
outros campos podem ser inseridos em qualquer ordem entre estes dois.

A linha seguinte contém as notas. Letras maiúsculas corresponde à
oitava central, enquanto que as minúsculas correspondem a uma oitava
acima. O caracter \car{\textbar} insere uma barra de compasso, que
pode ser introduzida em qualquer posição. Isto significa que pode
escrever compassos de qualquer número de tempos. A não ser que tenha
especificado, cada linha de música no ficheiro \ABC{} produz uma linha
na partitura.

O último \car{c} é seguido de um apóstrofe, que significa uma oitava
acima. Note que o \abcm{}, quando não existe outras indicações, coloca
automaticamente o andamento como 4 por 4, e as notas como colcheias.

Não foi muito difícil, pois não? Agora estamos prontos para estudar os
detalhes que lhe irão permitir escrever partituras bonitas.

\begin{note}
  Se está habituado a ``dó ré mi{\ldots}'', o que lhe vai custar mais
  é a habituar-se a usar ``C D E{\ldots}''. Isto não é obrigatório,
  porque o JedABC permite-lhe inserir notas Latinas convertendo-as
  automaticamente. No entanto, será melhor que aprenda a usar as notas
  Inglesas. Um truque é memorizar as notas como ``doC'', ``reD'', ``miE'',
  ``faF'', ``solG'', ``laA'', ``siB''.
\end{note}

\medskip

Experimente escrever alguns ficheiros \ABC{} como um exercício.
Escreva notas de forma aleatória, mas habitue-se a escrever, gravar,
converter e visualizar as músicas. Sugiro que realize os seus
exercícios no fim de cada umas das próximas secções.

% -----

\subsection{A Linha de Comando}

Deve estar avisado do que a linha de comando é. Se quiser usar um
outro editor (seja, por exemplo, o Windows \texttt{notepad}), irá ter
que abrir uma janela de DOS (Windows) ou uma linha de comando (Linux),
e mover-se para a directoria de trabalho.

Quando a sua \emph{fonte} estiver pronta, irá escrever os comandos:
\begin{Verbatim}[fontsize=\small]
C:\Musica> abcm2ps escala1.abc
abcm2ps-3.0.6 (April 14, 2002)
escala1.abc
Output written on Out.ps (1 page, 1 title, 25418 bytes)
C:\Musica>
\end{Verbatim}

O ficheiro \texttt{Out.ps} irá conter a partitura. Se ocorrerem erros,
irá obter uma mensagem de erro como:
\begin{Verbatim}[fontsize=\small]
C:\Musica> abcm2ps escala1.abc
abcm2ps-3.0.6 (April 14, 2002)
escala1.abc

++++ Bad character in line 4.17
   4 C D E F G A B c # c d e f g a b c' |
                     ^
Output written on Out.ps (1 page, 1 title, 25397 bytes)
C:\Musica>
\end{Verbatim}

A localização do erro que foi encontrado é indicado por uma seta.
Neste caso, o \abcm{} ignorou o erro e continuou a escrever a pauta.
Em alguns casos, erros críticos podem causar que a pauta não seja
criada de todo.
% -----

\noteseparator

% -----

\newpage

\part{Melodia}
\label{cha:melody}


\section{Notas}
\label{sec:note}

Esta parte do manual explica as características básicas das notas:
altura, duração, alterações acidentais, pontos, ligaduras, tercinas,
acordes, apogiaturas e símbolos de expressão. 

\subsection{Altura}
\label{sec:pitch}

O seguinte ficheiro (\file{escala2.abc}) mostra como obter notas
abaixo e acima da pauta; a escala é a de dó maior. Em vez de
simplesmente escrever \field{K: C} como no exemplo anterior, vamos
adicionar um pouco mais de código. \field{K: C treble}, além de
especificar dó maior, obriga à clave de sol na segunda linha. Neste
exemplo, deve ser especificada porque existem várias notas abaixo da
pauta, e o \abcm{} poderia escolher a clave de fá por omissão.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
K: C treble
% Dó maior, quatro oitavas
C, D, E, F, G, A, B, C | C D E F G A B c |
c d e f g a b c' | c' d' e' f' g' a' b' c'' |
\end{Verbatim}
%\end{shaded}

\score{scale2}

\medskip

A regra é: se uma nota é seguida por uma ou mais vírgulas, irá para
baixo uma ou mais oitavas; se for seguida por um ou mais apóstrofe,
irá para cima, uma ou mais oitavas.

Repare noutro detalhe importante: escrevemos duas linhas de notas em
\ABC{}, que produziram duas linhas de música. Este é uma das regras
básicas da notação \ABC: \emph{uma linha nova no código inicia uma
  nova pauta.} As excepções serão examinadas na
secção~\ref{sec:battute}.

No exemplo anterior, o espaçamento entre notas é demasiado grande; uma
única linha iria provavelmente parecer melhor. Pode obrigar o \abcm{}
para ignorar as quebras de linha e tentar formatar de forma óptima.
Isto é feito com a opção \car{-c} na linha de comando.

Iremos então reformatar o ficheiro usando \car{-c}:

\begin{Verbatim}[fontsize=\small]
Converta com: abcm2ps -O= -c escala2.abc
\end{Verbatim}

\score{scale3}

% -----

\subsection{Duração das Notas}
\label{sec:durata}

A não ser que tenha sido indicado de outra forma,a \emph{duração das
  notas} é colocado automaticamente de acordo com o compasso usado.

A regra é: se o valor do compasso é maior do que 0.75, a duração por
omissão irá ser um oitavo; se menor do que 0.75, um décimo sexto. Por
exemplo, quando o compasso é $\frac{4}{4}$, o seu valor é 1 (4
dividido por 4 é 1), e portanto a duração por omissão será um oitavo;
se o compasso for $\frac{3}{4} = 0.75$, mais uma vez, um oitavo; se o
compasso for $\frac{2}{4} = 0.5$ a duração por omissão será de
um décimo sexto. Por omissão, o compasso é $\frac{4}{4}$ e a duração
das notas será um oitavo.

O campo \marginpar{\field{L:}}\field{L:} é usado para modificar a
duração das notas por omissão, especificando um valor como \field{L:
  1/4}. Para mudar o compasso, use o campo \field{M:} como explicado
na secção~\ref{sec:metre}.

Para duplicar, triplicar, etc o valor de uma nota, escreve o número 2,
3, etc imediatamente após a nota. Para dividir o valor da nota por 2,
4, etc, escreve \car{/2}, \car{/4}, \car{/8}{\ldots} ou, de forma
equivalente, \car{/}, \car{//}, \car{///}{\ldots} Não são permitidos
espaços entre a nota e o número ou a barra. Vejamos um exemplo:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
K: C
C16|C8|C4|D2 D2|E0 E E E E|FF F/ F/ F/ F/|
G3 G// G/4 G/8 G/8 G/16 G/16 G/16 G/16|
\end{Verbatim}
%\end{shaded}

\score{duration}

\bigskip

Note que \abcext{}\abcm{} suporta notas mais longas do que a
semibreve! A primeira nota deste exemplo é chamada a \emph{longa}, e a
sua duração é quatro vezes a da semibreve. A segunda nova é uma
\emph{breve}, que dura o dobro de uma semibreve. O espaçamento entre
as notas é proporcional à sua duração.

Os espaços antes das notas e barras de divisão podem ser inseridos
livremente quando as notas são mais longas do que um oitavo, e são
usadas para melhorar a legibilidade do código. Mas \emph{os espaços
  entre notas de igual ou menor do que um oitavo não são opcionais}.
Se estas notas são forem separadas por espaços, irão sei agrupadas:


%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
K: C
C D E F CDEF | C D E F C/D/E/F/G/A/B/c/ |
c/B/A/G/ F/E/D/C/ C4 |
\end{Verbatim}
%\end{shaded}

\score{groups}

% -----

\subsection{Pausas}
\label{sec:rests}

As pausas são indicadas pelo caracter \car{z}. A mesma regra explicada
para a duração das notas é aplicada às pausas; As pausas podem
\abcext{} ser mais longas do que uma semibreve.

Para representar pausas mais longas do que um compasso pode usar o
caracter \abcext{}\car{Z} seguido pelo número de compassos a serem saltados:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
K: C
Z8|z16|z8|z4|C2 z2|C z C z|C z/ z/ C z// z// z// z//|
\end{Verbatim}
%\end{shaded}

\score{rests}

Algumas ``pausas'' peculiares são obtidas usando os caracteres
\abcext{}\car{x} e \car{y}, que especificam \emph{pausas invisíveis} e
algum espaçamento adicional:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
K: C
%
C D E/E/E/E/ F/F/F/F/|C D E/yyE/yyE/yyE/ F/yF/yF/yF/ yyyy|xxxG|
\end{Verbatim}
%\end{shaded}

\score{rests2}

As pausas invisíveis são usadas frequentemente ao transcrever música para piano.
Exemplos serão apresentados mais tarde.

% -----

\subsection{Alterações Acidentais}

O sustenido é denotado por um \car{\^} antes da nota, um bemol por
\car{\_}, e um bequadro por \car{=}. Não podem existir espaços entre o
símbolo da alteração acidental e a nota. Esta é a escala cromática:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: 4/4
L: 1/4
K: C
%
C ^C D ^D | E F ^F G | ^G A ^A B | c^c=cz |
c B _B A | _A G _G F | E _E D _D | C_C=Cz |
\end{Verbatim}
%\end{shaded}

\score{alter}

\medskip

As alterações duplas são indicados dobrando o caracter: duplo
sustenido é ``\verb|^^|'' e duplo bemol é \car{\_\_}.

% -----

\subsection{Galopes}

Quando uma nota tem um ponto de aumentação e a seguinte tem metade do
valor, ou vice-versa, estamos a falar de \emph{galopes}. São obtidos
usando os caracteres \car{\textgreater} ou \car{\textless} entre duas
notas.

Quando usa o \car{\textgreater}, a primeira nota tem um ponto de
aumentação (ou seja, a sua duração é aumentada por metade) e a nota
seguinte tem metade do valor. O contrário é feito com \car{\textless}.
Para indicar uma nota seguida por dois ou mais pontos, usa-se
\car{\textgreater\textgreater},
\car{\textgreater\textgreater\textgreater} e assim sucessivamente.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
K: C
CEGc|C > E G >> c|C < E G < c|C/>E/ C/ > E/ C/<E/ C/ < E/|
\end{Verbatim}
%\end{shaded}

\score{note_punt}

Também pode obter galopes especificando o valor correcto para as notas:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
K: C
%
C3D|E3/2 F//G// A B| c3/2 B//A// G>F|E D C z|
\end{Verbatim}
%\end{shaded}

\score{note_punt2}

\subsection{Ligaduras de prolongamento, expressão e staccato}

% -----

Uma ligadura de prolongamento é obtida usando o caracter \car{-} entre
as duas notas da mesma altura. As ligaduras de expressão são indicadas
colocando as notas entre parêntesis. A marca de staccato é obtida
colocando um ponto antes da nota em causa. Não são permitidos espaços
entre estes símbolos e as notas em causa.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: 4/4
L: 1/4
K: C
.C/ .C/ D - D .E/ .E/|EF-FG|(C/E/G/c/) (c/G/E/C/)|C2 z2|]
\end{Verbatim}
%\end{shaded}

\score{legato}

% -----

\subsection{Quialteras}

Duínas, tercinas, etc são codificadas com uma abertura de parêntesis,
imediatamente seguida pelo número de notas, e depois pelas notas.

Mais precisamente, a notação é:


\begin{itemize}
  \item \car{(2}: 2 notas em vez de 3;
  \item \car{(3}: 3 notas em vez de 2;
  \item \car{(4}: 4 notas em vez de 3;
  \item \car{(5}: 5 notas em vez de \textit{n} (ver abaixo);
  \item \car{(6}: 6 notas em vez de 2;
  \item \car{(7}: 7 notas em vez de \textit{n};
  \item \car{(8}: 8 notas em vez de 3;
  \item \car{(9}: 9 notas em vez de \textit{n};
\end{itemize}

Se o compasso da música é $frac{6}{8}$, $\frac{9}{8}$, $\frac{12}{8}$
etc, \textit{n} é 3; ao contrário, é 2.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: 2/4
L: 1/8
K: C
(3cde e2 | (3cde (3def | (3cze c(3(d/e/f/)|
(6cegzeg g2| (6cegczg (3ceg |]
\end{Verbatim}
%\end{shaded}

\score{tuplets}

\textit{TODO: quialteras mais genéricas}

% -----

\subsection{Acordes}

Os acordes são escritos colocando as notas entre parêntesis rectos.
Não são permitidos espaços entre os parêntesis e as notas. Um acorde
funciona como uma nota simples quando precisa de adicionar pontos de
prolongação, ligaduras de expressão, etc. Ou seja, podem ser
precedidas por um ponto para staccato, ou por um símbolo, etc. Para
unir dois acordes, cada nota é seguida por \car{-}.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
K: C
CE [C2G] c| .[CEGc][C2D2G2c2] ([C/E/G/c/][E/a/B/e/])|
D^FAd|[D^FAd][D^FAd]>[D^FAd][D^FAd]|[C2-E2-G2-][CEG]z|
\end{Verbatim}
%\end{shaded}

\score{chords}

\begin{warn}
  Não confunda acordes com algo completamente diferente! Se quer obter algo
  como:  
  \includegraphics{scores/nochord.png}
  isto não são acordes, mas \emph{vozes} diferentes na mesma pauta.
  Iremos falar sobre isto na secção~\ref{sec:polyphony}.
\end{warn}

% -----

\subsection{Letras de Música}
\label{sec:lyrics}

Esta secção não devia, na verdade, estar aqui, mas é conveniente. As
letras de música podem ser adicionadas no final da música, ou alinhada
com as notas abaixo da pauta. No primeiro caso, no fim do corpo da
música adicione linhas com o campo \marginpar{\field{W:}}\field{W:}
(em maiúscula), seguido pelo texto em si.

As letras de música alinhadas com as notas são, obviamente, mais
complicadas de escrever. Após cada linha de música, escreve uma ou
mais linhas que comecem com o campo \field{w:} (minúscula), seguido
pela letra dividia em sílabas. As regras de alinhamento são:


\begin{itemize}
  \item o caracter \car{-} (menos) separa sílabas de uma palavra. Se estiver separado
    da sílaba anterior por um espaço, uma nota é saltada;
  \item \car{\textbar} salta para o próximo compasso;
  \item \car{\_} (underscore) a última sílaba é prolongada por mais uma nota,
    e uma linha horizontal é desenhada;
  \item \car{*} salta uma nota;
  \item \car{\~} (til) junta duas sílabas na mesma nota;
  \item \car{\bl -} insere o caracter \car{-};
  \item \car{\textbackslash} é um caracter de continuação; o próximo campo \field{w:}
    continua a mesma linha de texto.
\end{itemize}

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: 3/4
K: C
C> C | D2C2F2 | E2-E z C> C | D2C2G2 | F2-F z C> C |
w: tan- ti~au- gu- ri a te,_ tan- ti~au- gu- ri a te, * tan- ti~au-
c2A2F2 | E2D z _B> B | A2F2G2 | F6 |]
w: gu- ri fe- li- ci, tan- ti~au- gu- ri a te!
\end{Verbatim}
%\end{shaded}

\score{happyb}

Se a linha \field{w:} contiver números, estes não irão ser alinhados
com as notas, mas movidos para a esquerda. Isto pode ser usado para
enumerar linhas \field{w:} seguidas. Se quiser alinhar também os
números (para dedilhação, por exemplo), o que tem de fazer é inserir o
caracter \car{\~} antes do número em questão.

\begin{vimp}
  Tenha cuidado especial em escrever um número de sílabas que
  corresponda ao número de notas. Diferenças entre o número de notas e
  de sílabas é uma das mais frequentes causas de erro.
\end{vimp}

% -----

\subsection{Caracteres Estrangeiros}

Desde que escreva a letra da música em Inglês, não irá ter problemas.
As coisas podem complicar quando quiser escrever numa língua
estrangeira como Italiano, Alemão, Húngaro{\ldots} irão aparecer
caracteres acentuados que não aparecem nos teclados.

O problema é resolvido usando uma sequência especial de caracteres:começa com
um \car{\bl}, um caracter especial, e depois o caracter a ser alterado. É mais
fácil fazer do que explicar: veja por favor a tabela~\ref{tab:chars}.

\begin{table}
\begin{center}
  \begin{tabular}{|l|l|}
  \hline
  \textbf{Letra} & \textbf{Sequência}\\
  \hline
  \`a \`e \'a \'e & \verb|\`a| \verb|\`e| \verb|\'a| \verb|\'e| \\
  \"U \"u \"e \"o & \verb|\"U| \verb|\"u| \verb|\"e| \verb|\"o|\\
  \~N \~n & \verb|\~N| \verb|\~n| \\
  \ss{} \o{} \O{} \aa{} \AA &
    \verb|\ss| \verb|\/o| \verb|\/O| \verb|\aa| \verb|\AA|\\
  \^O \^o \c c \c C & \verb|\^O| \verb|\^o| \verb|\cc| \verb|\cC| \\
  \AE{} \OE{} \ae{} \oe & \verb|\AE| \verb|\OE| \verb|\ae| \verb|\oe| \\
  \hline
  \end{tabular}
  \caption{Como obter caracteres de línguas estrangeiras.}
  \label{tab:chars}
\end{center}
\end{table}

Tenha especial atenção à diferença entre o acento ``agudo'' \car{'} e
``grave'' \car{`}. Se o seu teclado não tem o acento grave, irá ter
de inserir usando o jedABC pressionando Ctrl-P 096.

% -----

\subsection{Apogiaturas}

O caracter \car{\~} denota uma \emph{apogiatura genérica}. O seu
significado e método de execução depende da interpretação do músico.

Para escrever \emph{acciaccaturas} ou \emph{appoggiaturas}, pode usar
uma ou mais notas delimitadas por chavetas antes da nota principal.
Nas \emph{acciaccaturas}, a chaveta que abre é seguida pelo caracter
\car{/}, e depois por uma nota simples. As apogiaturas\abcext{} podem
ser escritas em qualquer sítio, e não apenas junto a uma nota.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: C
L: 1/4
K: C
~c2 {/d}c {c2d2}c|{d/c/d/}c {ede}d {fef}e f|
c/{gfef}d/e/f/ f/e/{gfedc}d/c/|c G E {cBAGFED}C|
\end{Verbatim}
%\end{shaded}

\score{grace}

\medskip

Para remover a ligadura de expressão entre as apogiaturas e a nota
principal, use a opção \cmd{-G} da \abcm, ou um parâmetro de formato
como iremos ver mais tarde.

% -----

\subsection{Expression Symbols}

Os símbolos de expressão são representados usando uma forma genérica
\cmd{!symbol!}: que é, o nome do símbolo de expressão (ff, ppp,
cresc{\ldots}) entre pontos de exclamação. Os símbolos são escritos
imediatamente antes da nota.

Os símbolos são impressos sobre a pauta se existirem linhas \cmd{w:},
por baixo caso contrário. Iremos ver na secção~\ref{sec:format} como 
especificar o seu posicionamento.

Os seguintes símbolos de expressão são suportados:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Expression Symbols
L: 1/4
K: C
!+!C!0!D!1!E!2!F |!3!C!4!D!5!E!D.C.!F|
w: !+! !0! !1! !2! !3! !4! !5! !D.C.!
!D.S.!C!accent!D!breath!E!coda!F|
w: !D.S.! !accent! !breath! !coda!
!crescendo(!C!crescendo)!D!diminuendo(!E!diminuendo)!F|
w: !crescendo(! !crescendo)! !diminuendo(! !diminuendo)!
!downbow!C!emphasis!D!fermata!E!f!F|
w: !downbow! !emphasis! !fermata! !f!
!ff!C!fff!D!ffff!E!fine!G|
w: !ff! !fff! !ffff! !fine!
!invertedfermata!C!longphrase!D!lowermordent!E
w: !invertedfermata! !longphrase! !lowermordent!
!mediumphrase!F| !mf!C!mordent!D!open!E!p!F|
w: !mediumphrase! !mf! !mordent! !open! !p!
!pp!C!ppp!D!pppp!E!pralltriller!F|
w: !pp! !ppp! !pppp! !pralltriller!
!roll!E!segno!F!sfz!C!shortphrase!D|
w: !roll! !segno! !sfz! !shortphrase! 
!snap!E!tenuto!F!thumb!C!trill!D|
w: !snap! !tenuto! !thumb! !trill! 
!turn!E!upbow!F!uppermordent!C!wedge!D|
w: !turn! !upbow! !uppermordent! !wedge!
!fp!C!cresc!D!dimin!E!turnx!F|
w: !fp! !cresc! !dimin! !turnx!
!invertedturn!C!invertedturnx!D!arpeggio![CEGc]
w: !invertedturn! !invertedturnx! !arpeggio!
!trill(!F| !trill)!C2 |]
w: !trill(! !trill)!
\end{Verbatim}
%\end{shaded}

\begin{center}
  \begin{figure}[htbp]
    \score{deco}
    \caption{Símbolos de expressão habituais.}
    \label{fig:deco}
  \end{figure}
\end{center}

Se der uma vista de olhos na figura~\ref{fig:deco}, irá notar sem
dúvida de que alguns símbolos estão a faltar. Leia a
secção~\ref{sec:decopers} antes de ficar chateado\ldots{}

% -----

\subsection{Símbolos Redefiníveis}

A maior parte dos nomes dos símbolos são bastante longos e podem
tornar o código difícil de ler. Para resolver este problema, pode
associar uma letra a um símbolo usando o campo
\marginpar{\field{U:}}\field{U:}.

O campo é seguido por uma letra maiúscula de \car{H} até
\car{Y}\footnote{De acordo com o rascunho do \ABC{}, o \car{Z} também
  poderia ser usado. No entanto, o \abcm{} usa o \car{Z} para pausas
  multi-compasso.} ou por uma letra minúscula de \car{h} até \car{w},
e depois o caracter \car{=}, e finalmente o símbolo. Por exemplo, o
campo \field{U:} seguinte define \car{T} como equivalente a \texttt{!trill!},
\car{H} como \texttt{!fermata!}, e \car{M} como \texttt{!tenuto!}:

\begin{Verbatim}[fontsize=\small]
U: T = !trill!
U: H = !fermata!
U: M = !tenuto!
\end{Verbatim}

Para apagar as definições de um campo \field{U:}, use definições como:

\begin{Verbatim}[fontsize=\small]
U: T = !nil!
U: H = !nil!
U: M = !nil!
\end{Verbatim}

As letras \texttt{uvTHLMPSO} são abreviaturas pré-definidas para
símbolos comuns. As definições são mostradas na tabela~\ref{tab:deco}.

\begin{table}
\begin{center}
  \begin{tabular}{|l|l|}
  \hline
  \textbf{Abreviatura} & \textbf{Símbolo} \\
  \hline
  \texttt{u} & \texttt{!upbow!} \\
  \texttt{v} & \texttt{!downbow!} \\
  \texttt{T} & \texttt{!trill!} \\
  \texttt{H} & \texttt{!fermata!} \\
  \texttt{L} & \texttt{!accent!} or \\
           ~ & \texttt{!emphasis!} \\
  \texttt{M} & \texttt{!lowermordent!} \\
  \texttt{P} & \texttt{!uppermordent!} \\
  \texttt{S} & \texttt{!segno!} \\
  \texttt{O} & \texttt{!coda!} \\
  \hline
  \end{tabular}
  \caption{Abreviaturas pré-definidas para símbolos habituais.}
  \label{tab:deco}
\end{center}
\end{table}

Se uma música contém muitos símbolos, uma notação alternativa pode ser
útil. Depois de uma linha de música, escreve uma linha que inicia com o
campo \abcext{}\field{d:}.Esta linha irá conter apenas símbolos.

As regras para associar notas e símbolos são as mesmas explicadas na
secção~\ref{sec:lyrics}. As linhas \field{d:} e símbolos ligados a
notas podem ser usados ao mesmo tempo.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
U: M = !accent!
K: C
%
C/D/ E/F/ G/A/ B/c/|c/B/ A/G/ F/E/ D/C/|e2!fermata!c2|
d: M M * !ff! M M * !ff! M M M !ff! M M M !ff!
\end{Verbatim}
%\end{shaded}

\score{decoline}

% -----

\subsection{Continuação de linhas}
\label{sec:battute}

Normalmente, uma linha de código com \parm{n} compassos produz uma
pauta na partitura com o mesmo número de compassos. No entanto, por
vezes escrever vários compassos consecutivos é demasiado longo, e
torna o código difícil de ler. Neste caso, o caracter \car{\bl} pode
ser adicionado no fim das linhas pertencentes a uma pauta. De forma
similar, as linhas da letra de música \car{w:} também podem ser
divididas em várias linhas da mesma forma. A barra indica que essa
linha continua de forma lógica com a seguinte.

O exemplo seguinte mostra duas pautas, cada com quatro compassos:


%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Fra' Martino
C: Tradizionale
M: 4/4
L: 1/4
K: E
%
EFGE|EFGE|GABz|\ % continues
w: Fra' Mar- ti- no cam- pa- na- ro, dor- mi tu!\ % continues
GABz|
w: Dor- mi tu!
B/c/B/A/ GE|B/c/B/A/ GE|\
w: Suo- na le cam- pa- ne, suo- na le cam- pa- ne,\
FB,Ez|FB,Ez|]
w: din don dan, din don dan!
\end{Verbatim}
%\end{shaded}

\score{measures}

% -----

\section{Propriedades da Música}

Esta parte do manual mostra como mudar propriedades de toda a peça
musical: claves, andamento, barras, repetições, informação da música,
partes, acordes de acompanhamento, e anotações textuais.

\subsection{Claves}
\label{sec:chiavi}

Até agora, escrevemos os nossos exemplos usando a clave de sol, em dó
maior.  Normalmente, a clave é escolhida automaticamente pelo \abcm{}
de acordo com altura das notas que escreve. Por exemplo, se começar
uma música com notas bem abaixo da pauta (escritas com vírgulas),o
\abcm{} irá escolher a clave de fá. No entanto, pode escolher a clave
com o campo \field{K:} no início da música. As claves disponíveis
estão listadas na tabela~\ref{tab:clefs}.

\begin{table}
\begin{center}
  \begin{tabular}{|l|l|}
  \hline
  \textbf{Clef} & \textbf{Field} \\
  \hline
  Treble & \field{K: treble} (default)\\
  Treble, 1 octave below & \field{K: treble-8}\\
  Treble, 1 octave above & \field{K: treble+8}\\
  Bass   & \field{K: bass}\\
  Baritone & \field{K: bass3}\\
  Tenor & \field{K: alto4}\\
  Alto & \field{K: alto}\\
  Mezzosoprano & \field{K: alto2}\\
  Soprano & \field{K: alto1}\\
  \hline
  \end{tabular}
  \caption{As sete claves e campos \field{K:} associados.}
  \label{tab:clefs}
\end{center}
\end{table}

O nome de algumas claves é seguido de um dígito, que indica a linha na
qual a clave pousa. Por exemplo, ``bass3'' (clave de barítono) denota
que a clave de fá irá ser colocada na terceira linha da pauta.

Repare na \abcext{}clave que obtém adicionando \car{-8} ao
\field{treble}. Esta indicação adiciona um pequeno \car{8} por baixo
da clave. Esta notação é usada muitas vezes para partes de tenores em
corais, que cantam na verdade uma oitava abaixo.

O próximo exemplo mostra como obter as 7 claves. Note que podemos
inserir vários campos \field{K:} no corpo do código; mas neste caso,
têm de estar entre parêntesis rectos.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
K: C
CEGc | [K: Cm bass]cegc' |
w: violino | basso ***
[K: C bass3]cegc' |
w: baritono ***
[K: Cm alto4]CEGc| [K: C alto]cegc' |
w: tenore | contralto ***
[K: Cm alto2]cegc' | [K: C alto1]cegc' |]
w: mezzosoprano | soprano ***
\end{Verbatim}
%\end{shaded}

\score{clefs}

\medskip

Esteexemplo mostra que os campos \field{K:} também especificam a
tonalidade. Esta é indicada com a nota em maiúscula seguida por
\car{m} se o modo é menor. As alterações acidentais são escritas como
\car{\#} (sustenido) e \car{b} (bemol).


\begin{btw}
  Lembro-lhe uma regra simples para encontrar a tonalidade maior de
  acordo com o número de sustenidos ou bemóis: \emph{um tom} maior que
  a última nota com sustenido, ou \emph{um quarto} abaixo da última
  nota com bemol. Para sua conveniência, a tabela~\ref{tab:keys} mostra as
  tonalidades que correspondem a determinado número de sustenidos ou bemóis.
\end{btw}

\begin{table}
\begin{center}
  \begin{tabular}{|c|c|}
  \hline
  \textbf{Tonalidade com sustenidos} & \textbf{Tonalidade com bemóis}\\
  \hline
  nenhum: C (Am) & \\
  1 sustenido: G (Em) & 1 bemol: F (Dm) \\
  2 sustenidos: D (Bm) & 2 bemóis: Bb (Gm) \\
  3 sustenidos: A (F\#m) & 3 bemóis: Eb (Cm) \\
  4 sustenidos: E (C\#m) & 4 bemóis: Ab (Fm) \\
  5 sustenidos: B (G\#m) & 5 bemóis: Db (Bbm) \\
  6 sustenidos: F\# (D\#m) & 6 bemóis: Gb (Ebm) \\
  7 sustenidos: C\# (A\#m) & 7 bemóis: Cb (Abm) \\
  \hline
  \end{tabular}
  \caption{Correspondência entre o número de sustenidos ou bemois e a tonalidade.}
  \label{tab:keys}
\end{center}
\end{table}

% -----

\subsection{Indicador de Compasso}
\label{sec:metre}

O campo \field{M:} permite especificar o indicador de compasso de
várias formas:
\begin{itemize}
\item como uma fracção, ou seja \field{M: 4/4} ou \field{M: 3/4}.
  Indicações complexas \abcext{} podem ser usadas como \field{M:5/4
    (2/4 3/4)};
\item como um valor inteiro: \field{M: 2};
\item com um indicador textual: \field{M: C} ou \field{M: C|} denotam
  4/4 e ``alla breve'';
\item se não deve ter indicador de compasso, usar \field{M: none}.
\end{itemize}

Obviamente, a indicação de compasso pode mudar a meio da música. Neste
caso, insere o campo \field{M:} no corpo, entre parêntesis rectos:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: C
K: C
L: 1/4
C D E F |G A B c| [M: 3/4] c d e|
f g a| [M: 2/4] b c'|cG|EC|
\end{Verbatim}
%\end{shaded}

\score{metre}

% -----

\subsection{Barras e Repetições}

Além das barras que separam os compassos, outros tipos de barras podem
ser usados:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: 4/4
L: 1/4
K: C
C D E F | G F E D || C D E F [| G F E D |: C D E F :|
G F E D :: C D E F : G F E D [|] G F E D |/| |//| |]
\end{Verbatim}
%\end{shaded}

\score{bars}

\medskip

Note que \car{[|]} não imprime nenhuma barra; é uma \emph{barra invisível},
e pode ser usada como um ponto de colocação de um símbolo.

Para indicar que uma secção tem duas repetições diferentes, use os
símbolos \car{[1} e \car{[2} como no próximo exemplo. Quando os
símbolos de repetição estão próximas de uma barra, podem ser escritas 
usando \car{\textbar1} e \car{\textbar2}.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: 4/4
L: 1/4
K: C
%
|: C D E F | G F E D |[1 C2 G2 :|2 C G C z |]
\end{Verbatim}
%\end{shaded}

\score{repeat}

\medskip

Como extensão \abcext{} ao habitual \ABC{}, o \abcm{} suporta outros
tipos de repetições. Além de dígitos, também permite o uso de pontos,
vírgulas, símbolo de subtracção e texto entre aspas:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: 4/4
L: 1/4
K: C
%
|: C D E F |1-3 c d e f :|4,5 C2 G2 :|"last time" C G C z |]
\end{Verbatim}
%\end{shaded}

\score{repeat2}

% -----

\subsection{Informação, Autor, Título{\ldots} }

As nossas músicas ainda estão incompletas. No próximo exemplo
introduzimos os campos \field{T:} (título, subtítulo), \field{C:}
(compositor) e \field{Q:} (andamentos):

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Parabéns           % título
T: Tanti auguri a te  % sub-título
C: tradicional        % compositor
C: (transcrição Guido Gonzato)
M: 3/4
Q: "Allegro" 1/4 = 120 % andamento
K: C
C> C | D2C2F2 | E2-E z C> C | D2C2G2 | F2-F z C> C |
w: tan- ti~au- gu- ri a te,_ tan- ti~au- gu- ri a te, * tan- ti~au-
c2A2F2 | E2D z _B> B | A2F2G2 | F6 |]
w: gu- ri fe- li- ci, tan- ti~au- gu- ri a te!
\end{Verbatim}
%\end{shaded}

\score{happyb2}

\medskip

A indicação textual \abcext{} no campo \field{Q:} (``Allegro'' no
nosso exemplo) é uma extensão do \abcm{}, e pode ser omitida.

Na secção~\ref{sec:format} iremos aprender como mudar o tipo de letra
do título.


% -----

\subsection{Partes}

Algumas músicas são feitas de várias partes, possivelmente repetidas
de formas várias. O campo a usar é \marginpar{\field{P:}}\field{P:},
seguido do nome da parte. No cabeçalho, este campo especifica a ordem
pela qual as partes devem ser tocadas; no corpo, marca o início de cada
parte.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Canção em Três Partes
M: C
L: 1/4
K: C
P: Primeira parte
|: C D E F|C D E F|G G G G|G2 z2:||:
P: Segunda parte
C E G c|C E G c|c c c c|c2 Cz:|
P: Parte final
C/E/G/c/ C2|C/E/G/c/ C2|C4|]
\end{Verbatim}
%\end{shaded}

\score{parts}

% -----

\subsection{Acordes de Acompanhamento}

Em muitos livros de canções, acordes de acompanhamento (digamos, para
guitarra) são anotados como ``A'', ``C7'', ``Dm'', ``F\#'' etc, acima
da pauta. Em \ABC, estes acordes são indicados escrevendo o nome do
acorde entre aspas \car{"} exactamente antes da nota.

Um acorde de acompanhamento tem este formato: ``nota'' ``alteração''
``tipo'' ``/nota baixo''. A nota é A{\ldots}G (apenas maiúsculas); a alteração 
é indicada com \cmd{b} (bemol) ou \cmd{\#} (sustenido); o tipo de acorde é
um dos listados na tabela~\ref{tab:chords}; finalmente, uma barra \car{/}
seguido por uma nota A{\ldots}G indica uma nota baixo opcional.

Espaços entre o acorde e as notas seguintes não são permitidos.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Parabéns
T: (versão com acordes)
C: tradicional
C: (transcrição Guido Gonzato)
M: 3/4
Q: "Allegro" 1/4 = 120
K: C
C> C|"F"D2C2F2|"C"E3 z C> C|"C"D2C2G2|
w: tan- ti~au- gu- ri a te, tan- ti~au- gu- ri a
"F"F3 z C> C|"F"c2A2F2|"Bb"E2D z _B> B|
w: te, tan- ti~au-  gu- ri fe- li- ci, tan- ti~au-
"F"A2F2"C"G2|"F"F6|]
w: gu- ri a te!
\end{Verbatim}
%\end{shaded}

\score{happyb3}

\begin{table}
\begin{center}
  \begin{tabular}{|l|l|}
  \hline
  \textbf{Tipo} & \textbf{Significado} \\
  \hline
  \texttt{m} ou \texttt{min} & menor \\
  \texttt{maj} & maior \\
  \texttt{dim} & diminuto \\
  \texttt{+} ou \texttt{aug} & aumentado \\
  \texttt{sus} & \emph{sostenuto} \\
  \texttt{7}, \texttt{9}, {\ldots} & sétima, nona, etc. \\
  \hline
  \end{tabular}
  \caption{Tipos de acordes de acompanhamento.}
  \label{tab:chords}
\end{center}
\end{table}

% -----

\subsection{Anotações Textuais}

Podem ser adicionadas anotações de várias formas. O primeiro método é
escrever a anotação como um acorde de acompanhamento; isto é, colocar
entre aspas, mas precedendo o texto com um caracter especial. Outro
método, é usar o campo \field{P:}. Finalmente, os campos \field{Q:}
podem ser inseridos para especificar mudanças de andamento.

De acordo com a norma do \ABC{}, as anotações textuais devem começar
com um dos seguintes caracteres especiais:
\cmd{\^\_\textless\textgreater{}@}. Estes caracteres colocam a
diferença lógica entre uma anotação e o acorde de acompanhamento, e
especificam a posição da anotação:
\begin{itemize}
  \item \cmd{\^} acima da pauta;
  \item \cmd{\_} abaixo da pauta;
  \item \cmd{\textless} à esquerda da nota;
  \item \cmd{\textgreater} à direita da nota;
  \item \cmd{@} deve ser seguido de dois números, \cmd{X} e \cmd{Y} separados por uma vírgula. 
    A anotação irá ser colocada com uma distância horizontal de \cmd{X} e vertical de \cmd{Y} pontos.
\end{itemize}

Vejamos um exemplo que usa os dois métodos:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: C
Q: "Dolcemente" 1/4=60
L: 1/4
K: C
CDEF|[P:piano]GFED|"^above"CDEF|
"_below"GFED|"<left"cDE">right"F|\
[Q: "sostenuto"] GFE"@-15,5.7anywhere"D|
\end{Verbatim}
%\end{shaded}

\score{annotations}

% -----

\subsection{Campos de Informação}

Na secção~\ref{sec:first} expliquei os ficheiros \ABC{} podem conter
várias músicas. Esta funcionalidade juntamente com o uso simples do
\ABC, levou à criação de muitos arquivos de música em formato \ABC{}
na Internet. De facto, o \ABC{} tornou-se o formato mais comum para
difundir música --- especialmente, popular.

Existem campos para descrever propriedades da música, como a área de
onde surgiu, ritmo, notas genéricas, entre outras. Estes campos de
informação podem ser usados para pesquisar uma base de dados por
determinado tipo de música. Pode ignorar estes campos, para só no caso
de lhe interessar, aqui está uma lista:
\begin{description}
  
  \item [\field{A:}] área. Exemplo: \texttt{A: Itália (zona Norte)}
  
  \item [\field{B:}] livro. Exemplo: \texttt{B: Os Beatles 66-72}
  
  \item [\field{D:}] discográfica. Exemplo: \texttt{D: Ricordi}
  
  \item [\field{F:}] nome do ficheiro. Exemplo: 
  \texttt{F: http://www.mymusic.org/file.abc}
  
  \item [\field{G:}] grupo de instrumento. Exemplo: \texttt{G: guitarra}
  
  \item [\field{H:}] história. Exemplo: 
  \texttt{H: esta música foi escrita...}
  
  \item [\field{I:}] informação. Exemplo:
  \texttt{I: versão para \emph{solo}}
  
  \item [\field{N:}] notas. Exemplo: \texttt{N: veja também...}
  
  \item [\field{O:}] origem. Exemplo: \texttt{O: Inglesa}
  
  \item [\field{R:}] ritmo. Exemplo: \texttt{R: valsa}
  
  \item [\field{S:}] fonte. Exemplo: \texttt{S: recolhida em Verona}
  
  \item [\field{Z:}] notas de transcrição. Exemplo:
  \texttt{Z: da fotocópia}
\end{description}

\begin{note}
  Acabamos de completar a descrição de todas as potencialidades do
  \ABC. Não será necessário dizer que ainda precisamos de bastantes
  mais funcionalidades se queremos descrever música complexa. Existem
  várias extensões à linguagem suportadas por algumas aplicações,
  incluindo o \abcm. De seguida, iremos usar a linguagem extendida
  denominada de \ABCP.
\end{note}

% -----

\noteseparator

% -----

\newpage

\part{Harmonia}

\section{Polifonia com o \ABCP}
\label{sec:polyphony}

Até agora, só vimos algumas melodias: música escrita apenas numa única
voz, ou um instrumento. Iremos agora virar a nossa atenção para a
música polifónica , usando alguns corais como exemplo.

% -----

\subsection{Vozes}

Vamos recordar alguma teoria musical. Podem existir uma ou mais linhas
de música numa única pauta, que são uma ou mais \emph{vozes}. As vozes
pertencem a um ou mais \emph{instrumentos}, alguns dos quais têm uma
única voz (ex. instrumentos de sopro) ou mais do que uma (ex. piano,
orgão). Um conjunto de pautas relacionadas a instrumentos que tocam
juntos na peça é chamado um \emph{sistema}.

Vamos começar por escrever uma peça para duas vozes. O campo
\field{V:}, seguido por um nome, indica que a música seguinte pertence
a essa voz. O nome da voz pode ser um número ou texto (ex. ``Tenor'').
O campo \field{V:} pode ser escrito numa linha, ou no início de uma
música, ou entre parêntesis rectos no início de uma linha de notas.

Aqui está o primeiro exemplo:
%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Fra' Martino
C: Tradicional
M: 4/4
L: 1/4
K:E
%
V: 1
EFGE|EFGE|GABz|GABz|B/c/B/A/ GE|B/c/B/A/ GE|
V: 2
z4  |z4  |EFGE|EFGE|GABz       |GABz       |
V: 1
FB,Ez      |FB,Ez      |z4   |z4   |
V: 2
B/c/B/A/ GE|B/c/B/A/ GE|FB,Ez|FB,Ez|
\end{Verbatim}
%\end{shaded}

\score{fra}

\medskip

Esta música foi escrita alternando as linhas das vozes 1 e 2, como
numa folha de música real. Podíamos ter escrito toda a música da voz
1, e depois da voz 2: o resultado seria o mesmo.

Podemos adicionar algumas declarações\abcext{} no cabeçalho que
especifica as propriedades de cada uma das vozes. Este é a sintaxe:

\medskip

\cmd{V:} \parm{nome da voz} \parm{definições}

\medskip

Os nomes das vozes pode ser um dígito com uma palavra (ex. ``Tenor'').
\emph{Definições} possíveis são:
\begin{itemize}
\item \field{clef=} especifica a clave da voz; usa os mesmos
  parâmetros examinados na secção~\ref{sec:chiavi}.
\item \field{name=}\parm{nome} ou \field{nm=}\parm{nome} especifica o
  nome que aparece à esquerda da primeira pauta.
\item \field{sname=}\parm{nome} ou \field{snm=}\parm{nome} especifica o
  nome que aparece à esquerda de todas as outras pautas depois da primeira.
\item \field{merge} indica que a voz pertence à mesma pauta da voz anterior.
\item \field{up} ou \field{down} indica a direcção da haste.
\end{itemize}

Estes campos são todos opcionais. Aqui está a mesma música com alguns
melhoramentos:
%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Fra' Martino
C: Tradicional
M: 4/4
L: 1/4
V: 1 clef=treble name="Contralto" sname="S"
V: 2 clef=treble name="Voz branca" sname="VB"
K: E
%
[V: 1] EFGE|EFGE|GABz|GABz|B/c/B/A/ GE|B/c/B/A/ GE|
[V: 2] z4  |z4  |EFGE|EFGE|GABz       |GABz       |
%
[V: 1] FB,Ez      |FB,Ez      |z4   |z4   |
[V: 2] B/c/B/A/ GE|B/c/B/A/ GE|FB,Ez|FB,Ez|
\end{Verbatim}
%\end{shaded}

\score{fra2}

% -----

\subsection{Posicionando as Vozes}

Uma peça polifónica é tocada por vários instrumentos, que têm uma ou
duas oitavas. Uma ou mais vozes pertencem a cada pauta. Para
especificar como as vozes e os instrumentos são posicionados na pauta,
usa \abcext{}o comando \field{\%\%staves}.

O comando \field{\%\%staves} deve ser seguido pelos nomes de vozes,
opcionalmente delimitados por um par de delimitadores: \field{[]},
\field{\{\}} e \field{()}. Como outros comandos no cabeçalho, o
\field{\%\%staves} deve aparecer antes do \field{K:}.

\begin{note}
  O comando \field{\%\%staves} inicia com um \car{\%}, e portanto,
  deve ser ignorado como um comentário. Na verdade, não; alguns
  comandos que iniciam com \car{\%\%} são chamados
  \emph{meta-comentários}. São definidos desta forma devido a razões
  de compatibilidade: aplicações que não suportam as funcionalidades
  avançadas do \ABCP{} podem ser o mesmo código ignorando os
  meta-comentários.
\end{note}

\medskip

Os delimitadores são usados seguindo estas regras:
\begin{itemize}
\item quando as vozes não estão entre delimitadores, irão simplesmente
  ser impressas em pautas diferentes. A voz superior no sistema irá
  ser a primeira voz da lista. Por exemplo, \texttt{\%\%staves SATB};
\item quando duas ou mais vozes estão entre parêntesis rectos, estas
  pautas estarão juntar por um parêntesis. Este formato é usado para a
  parte do coral num sistema. Por exemplo: \texttt{\%\%staves [SATB]};
\item quando duas, três ou quatro vozes (não mais do que quatro) estão
  entre chavetas, as suas pautas estarão juntas por uma chaveta. Isto
  é tipicamente usado para as partes de piano ou orgão num sistema:
  \texttt{\%\%staves \{MS MD\}};
\item finalmente, se duas ou mais vozes estão entre parêntesis curvos,
  irão ser impressas na mesma pauta. Por exemplo: \texttt{\%\%staves
    [(SA) (TB)]};
\item por omissão, as barras de divisão de compassos atravessam todas
  as pautas. Para manter as barras apenas em cada compasso, uso o
  caracter \car{\textbar} entre todos os nomes de vozes:
  \texttt{\%\%staves [S|A|T|B]}.
\end{itemize}

Quando duas vozes são impressas na mesma pauta, a direcção das hastes
indica a primeira voz (up) ou a segunda (down).

Aqui está um exemplo de música para piano. Temos três vozes, duas das
quais são tocadas pela mão esquerda. Quando uma destas vozes é
silenciosa, as pausas são substituídas por pausas invisíveis, como as
estudadas na secção~\ref{sec:rests}.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Studio
T: Op. 10 - N. 3
C: F. Chopin
M: C
%%staves {RH1 (LH1 LH2)}
V: RH1 clef=treble name="Piano"
V: LH1 clef=bass
V: LH2 clef=bass
K: F
%
[V: RH1] (agfd edcG    |A)(dcA B^FG) (C            |F2 EF [E4G4]-   |
[V: LH1] ac'ac' bc'bc'-|c'z ([^d2^f2][eg][da][e2b2]|[fa]c'ac' cc'bc'|
[V: LH2] f4 [f4g4]     |[fa] x x2 c4               |x4 x4           |
%
\end{Verbatim}
%\end{shaded}

\score{studio}

\medskip

Tentemos agora uma peça mais complexa. Vamos escrever os primeiro
quatro compassos do famoso ``Ave Verum'' de Mozart, para orgão e SATB:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Ave Verum
C: W. A. Mozart
M: 4/4
L: 1/4
Q: "Adagio"
%%staves [(S A) (T B)] {(MD1 MD2) (MS1 MS2)}
V: S clef=treble name="Soprano" sname="S"
V: A clef=treble name="Alto" sname="A"
V: T clef=bass name="Tenore" sname="T"
V: B clef=bass name="Basso" sname="B"
V: MD1 clef=treble name="Organo"
V: MD2 clef=treble
V: MS1 clef=bass
V: MS2 clef=bass
K: D
%
[V: MD1] (DA,D[CE])|([DF]D[DF][EG])|[FA][DF][Fd][DF]|A^G=GG  |
[V: MD2] x4        |x4             |x4              |E4      |
[V: MS1] f2fa      |afa2-          |a4              |b4      |
[V: MS2] d4-       |d4-            |d4-             |d4      |
[V: B] z4          |z4             |d2d2            |d2d2    |
w: A- ve, A- ve,
[V: T] z4          |z4             |a2a2            |b2b2    |
[V: A] z4          |z4             |F2F2            |E2E2    |
[V: S] z4          |z4             |A2(dF)          |(A^G)=G2|
w: A- ve, * A - ve,
\end{Verbatim}
%\end{shaded}

\score{ave}

\medskip

Note que as vozes foram escritas intencionalmente na ordem inversa. O
campo \field{\%\%staves} rearranjou as pautas e vozes na ordem
correcta. Normalmente, irá querer escrever as vozes na mesma ordem que
está escrito no \field{\%\%staves}.

\begin{note}
  O comando \cmd{\%\%staves} é um ponto forte da notação do \ABCP{}
  comparado com a notação gráfica usada por muitos programas. Por
  exemplo, numa partitura com quatro vozes escrita como SATB só
  precisa de alterar o comando \cmd{\%\%staves} para mudar a ordem das
  pautas, duas vozes por pauta. Num programa gráfico iria precisar de
  reescrever a pauta desde o início.
\end{note}

Normalmente, é conveniente escrever as vozes no código de forma
similar à escrita numa partitura real: torna o código mais legível.
Por um lado, escrever as várias vozes separadamente torna mais simples
separar o código em vários ficheiros, um para cada voz\footnote{a não
  ser que o programa \abcprt{} seja usado; veja a
  secção~\ref{sec:abcprt}.}.


Como último exemplo, uma peça escrita de forma não usual: o ``Kyrie''
da ``Missa Brevis'' de Andrea Gabrieli. Esta música está escrita sem
andamento.  Cada voz segue o seu próprio andamento: nesta situação
devemos usar o \field{M:none}. O comprimento de cada compasso é
diferente para cada voz, e consequentemente a expressão
\cmd{!longphrase!} é substituída pela verdadeira barra de divisão.
Também queremos ``alla breve'' indicado. Isto pode ser escrito como:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Missa Brevis
C: Andrea Gabrieli (1510? - 1586)
M: C|
L: 1/4
%%staves [1 2 3 4]
V: 1 clef=treble
V: 2 clef=treble
V: 3 clef=treble-8
V: 4 clef=bass
U: L = !longphrase!
K: F
%
[P: Kyrie]
[V: 1] [M:none] F4 c2d2c2LG2 A2B2c2A2G2LF2 G2 c4 =B2 Lc4 z2 G2
    w: Ky- ri - e e- lei - - - son e- lei - - son Ky-
[V: 2] [M:none] Lz8 C4 F2G2 FECD E2 F4 E2C2G2A2G2F2E2
    w: Ky- ri - e * * e- lei - - son e- lei - - -
[V: 3] [M:none] z8 Lz8 F4 c2d2c2G2A2d2f2e2d2c2
    w: Ky- ri - e e- lei - - - - -
[V: 4] [M:none] z8 z8 Lz8 c4 f2g2f2Lc2 d2e2
    w: Ky- ri - e e- lei -
%
[V: 1] c2d2c2LG2 A2B2A3 GAB c2 d4 c3 B/LA/ G4 A16 |]
    w: ri - e e- lei - - - - - - - - - - - son.
[V: 2] A2 F4 E2F2D2 F4 F2 G3 F LF2 E2 F4 E2 F16 |]
    w: - - - son Ky- ri- e~e- lei - - - - - son.
[V: 3] A3 =B Lc4 z2 G2c2d2c2LG2 A2_B2G2LA2 c4 c16 |]
    w: son__ Ky- ri - e e- lei - - - - son.
[V: 4] Lf4 z2 c2f2g2f2Ld2 f2e2d2LB2 c8 f16 |]
    w: son Ky- ri - e e- lei - - - - son.
\end{Verbatim}
%\end{shaded}

\score{kyrie}

Nota: alguns parâmetros de formatação foram usados, mas foram
removidos do código para clarificar. Iremos estudá-los na
secção~\ref{sec:format}.

% -----

\subsection{Mudança de Sistema}

Em peças com alguma complexidade (digamos, para solo, coro e
orquestra) nem todos os instrumentos tocam ao mesmo tempo. Escrever
todas as partes, contendo basicamente pausas, seria uma perda de tempo
e espaço quando apenas um instrumento está a tocar.

É possível mudar o campo \field{\%\%staves} de acordo com o
necessário, especificando apenas os instrumentos que estão a tocar.
Aqui está um exemplo retirado do ``Agnus Dei'' da Missa em Sol, de
Schubert. O resultado é mostrado na figura~\ref{fig:agnusdei}.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
%%stretchlast true
X: 1
T: V - Agnus Dei
M: 4/4
L: 1/8
Q: "Lento"
%%staves 1
V: 1  clef=treble name="S" sname="S"
K: G
% soprano solo
[V: 1] Z5|"Sopr. Solo"B3 e e2 c A|F F/> A/ c> B {A}G G z2|
w: A- gnus De- i, qui tol- lis pec- ca- ta- mun- di,
[V: 1] e> e e e g3 f/e/|d3 ^c/B/ (A2 A/)^G/ B/A/|=G F z2 z4|
w: mi- se- re- re no- bis, * mi- se - re - - re * no- bis,
% coro
%%staves [ 1 2 3 4 ]
V: 1  clef=treble name="S" sname="S"
V: 2  clef=treble name="A" sname="A"
V: 3  clef=treble name="T" sname="T"
V: 4  clef=bass   name="B" sname="B"
[V: 1] !pp!A> G E F (G2 E2)  |F2 z2 z4      |B> A F G A> G E F      |
w: mi- se- re- re no - bis, mi- se- re- re, mi- se- re- re
[V: 2]     D> ^C C ^D (E2 C2)|=D2 z2 z4     |B,> B, B, B, D> ^C C ^D|
[V: 3] !pp!A> A A A (B2 A2)  |A2 z2 z4      |G> F ^D E A> A A A     |
w: mi- se- re- re no - bis, mi- se- re- re, mi- se- re- re
[V: 4]     f> e A f (e2 a2)  |d2 z2 d> d d g|B> B B e f> e A f      |
w: mi- se- re- re no - bis, mi- se- re- re | |
%
[V: 1] (G2 E2) D2 z2  |z8|
w: no - bis.
[V: 2] (E2 ^C2) =D2 z2|z8|
[V: 3] (B2 G2) F2 z2  |z8|
w: no - bis.
[V: 4] (e2 a2) d2 z2  |z8|
w: no - bis.
% basso solo
%%staves 4
V: 4 clef=bass name="B" sname="B"
[V: 4] "Basso Solo"f3 b b2 g e|^c c/> e/ g> d {e}d d z2|
w: A- gnus De- i, qui tol- lis pec- ca- ta mun- di,
[V: 4] b> b b b d'3 ^c'/b/|a3 ^g/f/ (e2 e/)^d/ f/e/|=d ^c z2 z4|
w: mi- se- re- re no- bis, * mi- se - re - - re - no- bis.
\end{Verbatim}
%\end{shaded}

\begin{figure}[htbp]
  \scorepage{agnusdei}
  \caption{Uma peça onde o sistema muda três vezes.}
  \label{fig:agnusdei}
\end{figure}

% -----

\subsection{Divisão em Vozes}

Em certas peças de música, uma voz divide-se em duas, em apenas alguns
compassos; por exemplo, uma peça pode acabar com um tenor a cantar um
dó enquanto o outro canta um sol.

Para não ter de introduzir uma voz suplementar, praticamente igual à
outra, podemos usar o símbolo \car{\&}. Quando colocado no meio de um
compasso, divide a voz actual e atribuí as notas seguintes a outra voz.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
M: 4/4
L: 1/4
K: C
%
C>CE>E|G>GG2&G2E2|C>CE>E|G>GG2&x2E2|
\end{Verbatim}
%\end{shaded}

\score{double}

% -----

\noteseparator

% -----

\newpage

\part{Formato da Página}

\section{Parâmetros de Formatação}
\label{sec:format}

Aprendemos a escrever música polifónica. Agora deveremos decidir o
formato da página, tipos de letra, e outros parâmetros. O \abcm{} tem
vários comandos para configurar os parâmetros de formatação. Estes
comandos são escritos no código como pseudo-comentários, ou em
ficheiros externos conhecidos como \emph{ficheiros de formato}.

Os pseudo-comentários (a partir de agora, \emph{comandos}) são linhas
que começam com \field{\%\%}. Estes são escritos no cabeçalho ou no
corpo. Existem vários comandos: alguns específicos do formato da
página, tipos de letra, espaçamentos, etc. Muitos comandos aceitam um
parâmetro de um destes tipos:

\begin{itemize}
\item uma \emph{unidade de comprimento}, especificada em centímetros
  (cm), polegadas (in) ou pontos (pt); por exemplo, \texttt{30pt},
  \texttt{1cm}, \texttt{0.3in};
\item um \emph{valor lógico} ``sim ou não'', expresso usando as
  palavras \texttt{true} (verdadeiro) ou \texttt{false} (falso), ou de
  forma equivalente, com 1 ou 0;
\item uma \emph{string}, como \texttt{Times Roman 24};
\item um \emph{número}, ou inteiro ou decimal;
\end{itemize}

Uma lista completa de comandos disponíveis é apresentada no
Apêndice~\ref{sec:comandi}. Agora vamos ver um exemplo bastante
completo. A seguinte peça (os primeiros dez compassos do Ave Verum de
Mozart) contém os comandos mais habituais:

%\begin{shaded}
\begin{Verbatim}[fontsize=\footnotesize]
% FORMATO DA PÁGINA
%
%%pageheight     29.7cm
%%pagewidth      21cm
%%topmargin      1cm
%%botmargin      1cm
%%leftmargin     1cm
%%rightmargin    1cm
% ESPAÇAMENTO
%%topspace       0cm     % espaço antes da peça
%%titlespace     0cm     % espaço antes do título
%%subtitlespace  0.3cm   % espaço antes do sub-título
%%composerspace  0.5cm   % espaço antes do nome do compositor
%%musicspace     0.5cm   % espaço antes da primeira pauta
%%vocalspace     1.5cm   % espaço adicional depois das linhas de letra
%%sysstaffsep    1cm     % espaço entre as pautas do mesmo sistema
%%staffsep       3cm     % espaço entre os diferentes sistemas
% FONT
%%titlefont      Times-Bold 28
%%subtitlefont   Times-Bold 16
%%composerfont   Times-Roman 12
%%vocalfont      Helvetica 14    % para a letra
%%gchordfont     Times-Bold 14   % para acordes
% MISC
%%measurebox     true  % numerar compassos numa caixa
%%measurenb      0     % numerar compassos no primeiro
%%exprabove      true  % expressões acima da pauta
%%barsperstaff   5     % números de compassos por pauta
%%scale          0.65  % escala
%
X: 1
T: Ave Verum
T: per coro e organo
C: W. A. Mozart (1756-1791)
M: 4/4
L: 1/4
Q: "Adagio"
%%staves [1 2 3 4] {(5 6) (7 8)}
V: 1 clef=treble name="Soprano" sname="S"
V: 2 clef=treble name="Alto" sname="A"
V: 3 clef=treble-8 name="Tenore" sname="T"
V: 4 clef=bass name="Basso" sname="B"
V: 5 clef=treble name="Organo"
V: 6 clef=treble
V: 7 clef=bass
V: 8 clef=bass
K: D
%
% 1 - 3
%
[V: 1] z4          |z4             |A2(dF)          |
w: A- ve, *
[V: 2] z4          |z4             |F2F2            |
[V: 3] z4          |z4             |A2A2            |
w: A- ve,
[V: 4] z4          |z4             |d2d2            |
% w: A- ve,
[V: 5] (DA,D[CE])|([DF]D[DF][EG])|[FA][DF][Fd][DF]|
[V: 6] x4        |x4             |x4              |
[V: 7] f2fa      |afa2-          |a4              |
[V: 8] d4-       |d4-            |d4-             |
%
% 4 - 7
%
[V: 1] (A^G)=G2|(GB)(AG)        |(GF)F2          |E3E |
w: A - ve, ve - rum * cor - pus na- tum
[V: 2] E2E2    |(EG)(FE)        |(ED)D2          |C3C |
[V: 3] B2B2    |A2A2            |A2A2            |A3A |
w: A- ve, ve- rum cor- pus na- tum
[V: 4] d2d2    |c2c2            |d2d2            |A3A |
[V: 5] A^G=GG|[EG][GB][FA][EG]|[EG][DF][DF][FA]|AEEA|
[V: 6] E4    |x4              |x4              |C2C2|
[V: 7] b4    |a4              |a4              |a4  |
[V: 8] d4    |c4              |d4              |A4  |
%
% 8 - 10
%
[V: 1] FFGG           |(G2F)F      |E4    |
w: de Ma- ri- a Vir - gi- ne,
[V: 2] DDEE           |(E2D)D      |C4    |
[V: 3] AAAA           |A3A         |A4    |
w: de Ma- ri- a Vir- gi- ne,
[V: 4] ddcc           |d3d         |A4    |
[V: 5] [FA][df][eg]G|[E2G2][D2F2]|[C4E4]|
[V: 6] DAAD         |x4          |x4    |
[V: 7] a3a          |a4          |x4    |
[V: 8] d2c2         |ddfd        |Aaec  |
\end{Verbatim}
%\end{shaded}

\begin{center}
  \begin{figure}[htbp]
    \scorepage{AveVerum}
    \caption{Ave Verum com parâmetros de formatação.}
    \label{fig:aveverum}
  \end{figure}
\end{center}

Uma grande diferença, não é verdade? A diferença deve ser clara. Para
mais detalhes nos parâmetros, veja por favor o apêndice~\ref{sec:comandi}.

Depois de ter especificado os parâmetros, eles continuam os mesmos
para toda a música. Alguns, no entanto, podem ser redefinidos: por
exemplo, \cmd{\%\%vocalfont}. Isto torna possível escrever uma linha
de letra de música seguida por outra com a sua tradução num tipo de
letra diferente.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Silent Night
C: F. Gruber
M: 6/8
Q: "Andante tranquillo"
K: C
%
G>A G E3|G>A G E3|d2 d B2 B|c2 c G3|
%%vocalfont Times-Roman 12
w: A- stro del ciel, Par- gol di- vin, \
w: mi- te~A- gnel- lo re- den- tor!
%%vocalfont Times-Italic 12
w: Voi- ci No- \"el, \^o dou- ce nuit! \
w: L'\'e- toile~est l\`a qui nous con- duit.
%%vocalfont Times-Roman 12
w: Si - lent night! Ho - ly night! All is calm,_ all is bright.
\end{Verbatim}
%\end{shaded}

\score{stille}

Aqui fica outro exemplo que demonstra as capacidades do \abcm{} para
alterar texto com peças de música. O resultado é mostrado na
figura~\ref{fig:typeset}.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
%%font AvantGarde-Demi
%%textfont Helvetica 26
%%center Exemplo Tipográfico
%%vskip 0.5cm
%%textfont Helvetica 14
%%begintext justify
%%Este é um exemplo de texto inserido num ficheiro ABC. Esta
%%funcionalidade do abcm2ps permite-lhe escrever livros de
%%música, colecções ou outras publicações sem ter de recorrer
%%a um programa específico. Não é mau, pois não? Agora vamos
%%escrever um pequeno exemplo musical.
%%endtext
X: 1
T: Estudo
M: 4/4
L: 1/4
Q: "Docemente"
K: C
%
!p!CCGG|AA!mf!G2|!diminuendo(!FFEE|DD!diminuendo)!C2|

%%vskip 0.5cm
%%textfont AvantGarde-Demi 14
%%begintext align
%%Agora, vamos ver alguma coisa mais alegre. Para começar vamos trocar
%%tipos de letra: do Helvetica para AvantGarde-Demi. Aqui está o mesmo 
%%Estudo com umas pequenas variações para o tornar mais interessante.
%%endtext
X: 2
T: Estudo
T: segunda versão
M: 4/4
L: 1/4
Q: "Adagio"
K: C
%
.C{DCB,}C.G{AGF}G|A>AG2|.F{GFE}F.E{FED}E|D>DC2|
%%sep 0.7cm 0.7cm 6cm
% A linha seguinte incrementa o tamanho dos caracteres
%%textfont * 26
%%center Fim do exemplo.
%%sep 1cm 1cm 6cm
\end{Verbatim}
%\end{shaded}

\begin{center}
  \begin{figure}[htbp]
    \score{typeset}
    \caption{Alternando texto com música.}
    \label{fig:typeset}
  \end{figure}
\end{center}

\textit{TODO: explicar o comando \%\%font}

% -----

% ----- Summary of tune layout -----

% To summarize: the layout of a tune is done as follows. 
% Starting from the current position on the page, 

%    First write the header:
%       go down by topspace, write text if any is specified;
%       go down by titlespace, write the main title;
%       for each subtitle, go down subtitlespace and write it;
%       go down composerspace, write the composer lines;
%       go down musicspace and go up by partsspace, write the parts.

%    Next, starting from musicspace below the composer:
%       For each staff:
%          go down by staffsep/2;
%          write the staff;
%          go down another staffsep/2.
%    Note that everything here (including the spaces and fonts)
%    are scaled by "scale". 

%    Finally:
%       if words are included, go down wordsspace and write them;
%       if history/notes are included, go down textspace and write them.
%    Hereby lineskip and parskip given by "lineskipfac" and "parskipfac".

% -----

\subsection{Quebras de Pautas}

Para dar a indicação no início de uma peça (por exemplo, a tonalidade
original, ou extensão), ou escrever uma \emph{coda}, é possível
interromper a pauta com o comando \cmd{\%\%staffbreak}:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
L: 1/4
K: C alto4
%
[C0g0]\
%%staffbreak 0.3cm
K: C treble
CCEE|GGcc|"al coda"ccee!coda!|fgc2|\
%%staffbreak 1.5cm
!coda!g2C2|]
\end{Verbatim}
%\end{shaded}

\score{break}

Se a mesma peça de música tem várias pautas, a quebra tem de ser
aplicada a todas elas.


% -----

\subsection{Utilizando várias colunas}

Os comandos \cmd{\%\%multicol start}, \cmd{\%\%multicol new} e
\cmd{\%\%multicol end} são usados para definir áreas, ou ``colunas'',
nas quais a música é inserida.

O comando \cmd{\%\%multicol start} guarda as margens actuais e coloca
a posição vertical para o início de uma coluna. Neste ponto, é
possível mudar as margens e imprimir material na primeira coluna.

O comando \cmd{\%\%multicol new} move a posição vertical para o início
de uma nova coluna; recolocando as margens e imprimindo o material no
início desta nova coluna. Esta sequência pode ser repetida quantas
vezes as desejadas.

Finalmente, \cmd{\%\%multicol end} reinicializa as margens da página
para os valores antes do \cmd{\%\%multicol start} e move a posição
horizontal abaixo das colunas que foram impressas. É mais fácil do que
parece. Aqui fica um exemplo:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
%%pagewidth 21cm
%%leftmargin 1cm
%%rightmargin 1cm
X: 1
M: 4/4
L: 1/4
K: C
%
CDEF|GABc|cdef|gabc'|
%%multicol start
%%rightmargin 11cm
"^left"CDEF|GABc|
%%text Left column (margins: 1, 11)
%%text Width: 21 - 1 - 11 = 9 cm
%%multicol new
%%leftmargin 13cm
%%rightmargin 2cm
"^right"cdef|gabc'|
%%text Right column (margins: 13, 2)
%%text Width: 21 - 13 - 2 = 6 cm
%%multicol end
CDEF|GABc|cdef|gabc'|
\end{Verbatim}
%\end{shaded}

\score{columns}

% -----

\subsection{Cabeçalhos e Rodapés}
\label{sec:headerfooter}

Os seguintes comandos definem o texto que deverá aparecer
automaticamente em todas as páginas: \cmd{\%\%header} para o cabeçalho
da página e \cmd{\%\%footer} para o seu rodapé. Estes comandos,
seguidos por texto, irão imprimí-lo automaticamente ao centro da
página.


Na verdade, podem ser definidas três áreas: esquerda, centro e
direita, com diferentes textos em cada uma das áreas. Em qualquer
caso, a linha de texto deve ser colocada entre aspas. Além disso, o
texto deve usar símbolos especiais para inserir informação específica
acerca da peça:
\begin{itemize}
\item \cmd{\$F} escreve o nome do ficheiro actual;
\item \cmd{\$N} escreve o título da música actual;
\item \cmd{\$P} escreve o número da página;
\item \cmd{\$P0} e \cmd{\$P1} escrevem o número da página, mas apenas
  se for par ou ímpar;
\item \cmd{\bl{}n} indica o início de uma segunda linha de texto.
\end{itemize}

Os três campos devem ser separados por um \emph{caracter de tab}. Para
quem não está familiarizado com ele, este é um caracter especial, que
usando o JedABC pode ser obtido com \texttt{Ctrl-P009}. Também, no
JedABC é aconselhado que use linhas \cmd{\%\%header} e
\cmd{\%\%footer} obtidas pelo menu \menu{Mode/\-abcm2ps Options/\-page Layout}, e,
se necessário, modificá-los.

Aqui está um exemplo do comando \cmd{\%\%footer} utilizado para
imprimir os números de páginas pares à esquerda, o nome da peça no
centro, e os números de páginas ímpares à direita.

\begin{verbatim}
%%footer "$P0   $N      $P1"
\end{verbatim}

Repare que estas áreas \emph{não} estão separadas por espaços, mas por tabs!

% -----

\subsection{Inserindo Gráficos}

Outra possibilidade interessante é a adição de ficheiros EPS externos
numa partitura, por exemplo, para adicionar um logotipo ou desenho. O
comando \cmd{\%\%EPS} é usado seguido pelo nome do ficheiro a inserir:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
X: 1
T: Teste de uso do meu logotipo
K: C
CDEF GABc |cBAG FEDC |
cdef gabc'|c'bag fedc|
%%text Música apresentada por...
%%EPS logo.eps
\end{Verbatim}
%\end{shaded}

\score{epsinclude}

Se o ficheiro a ser incluído estiver noutro formato (ex, jpeg), deve
ser primeiro convertido para EPS com um programa adequado. Mais
informação pode ser encontrada na secção~\ref{sec:jpgeps}.

% -----

\section{Ficheiros de Formatos}

Apesar de ser possível inserir parâmetros de formatação no código,
pode ser mais prático colocá-los num ficheiro externo que é chamado
pelo \abcm{} quando a peça é formatada. Este ficheiro pode ser
definido como um \emph{ficheiro de formato}.

Aqui está como um ficheiro de formato é constituído:
%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
% ficheiro de formato

scale 0.8
topmargin 2 cm
titlefont Helvetica-Bold 13
subtitlefont Helvetica-Bold 10
% etc...
% fim
\end{Verbatim}
%\end{shaded}

Como pode ver, não é nada mais do que escrever os parâmetros de
formatação sem os dois caracteres de percentagem no início.

Para formatar a peça de música usando o formato contido num ficheiro
\file{exemplo.fmt}, que esteja na mesma pasta do ficheiro fonte, use a
opção \cmd{-F} do \abcm{} na linha de comando:


\begin{Verbatim}[fontsize=\small]
abcm2ps -O= -c -F exemplo /home/guido/musica/brano.abc
\end{Verbatim}

O uso de um ficheiro de formato é a melhor solução quando quer
formatar uma série de partituras que partilham o mesmo estilo.

% -----

\section{Numerando Compassos e Páginas}

A numeração de compassos é controlada com três comandos:
\cmd{\%\%measurefirst}, \cmd{\%\%measurenb}, e \cmd{\%\%measurebox} que
são explicados na secção~\ref{sec:othercmd}.

A numeração das páginas é controlado com a opção \cmd{-N}
\parm{numero} na linha de comando do \abcm{}. Valores possíveis são:

\begin{itemize}
\item 0: numeração de páginas desactivado;
\item 1: numeração de páginas no canto superior esquerdo;
\item 2: numeração à direita;
\item 3: numeração à esquerda nas páginas pares, à direita nas páginas ímpares;
\item 4: numeração à direita nas páginas pares, à esquerda nas páginas ímpares;
\end{itemize}

% -----

\subsection{Controlo de Compassos}

O número de compassos por pauta pode ser controlado de vários modos:
\begin{itemize}
\item o mais preciso, é inserir cuidadosamente em cada linha do código o
  número exacto de compassos. Não aconselho este método;
\item em muitos casos, pode ser bastante bom deixar o \abcm{} fazer o
  trabalho com a opção \cmd{-c} (ver secção~\ref{sec:note});
\item quando quer que cada pauta tenha \parm{n} compassos, use o
  comando \cmd{\%\%barsperstaff} \parm{n} no código ou a opção \cmd{-B}
  \parm{n} na linha de comando do \abcm{}.
\end{itemize}

Se a última linha contiver menos compassos, que não ocupem toda a
largura da página, pode controlar a sua expansão com o comando
\cmd{\%\%stretchlast}.

É geralmente recomendado não se preocupar com o número de compassos a
ser escrito em cada linha. É melhor concentrar-se na música e deixar o
\abcm{} fazer a formatação com a opção \cmd{-c}.

\begin{warn}
  Se decidir corrigir o número de compassos por si mesmo, tenha
  cuidado para não escrever muitos ou poucos por linha! Se escrever
  demasiado poucos, a pauta não será legível; se escrever demasiados,
  o \abcm{} irá redesenhar a linha por si mesmo;
\end{warn}

% -----

\section{Poupança de Espaço}

Um problema que aparece frequentemente é a impressão da partitura no
menor número possível de páginas. Depois de ter o formato da página, e
de ter definido as margens, pode usar alguns parâmetros para reduzir o
espaço ocupado pela partitura:
\begin{itemize}
\item antes de mais, o poderoso comando \cmd{\%\%scale} \parm{factor}.
  Por omissão, a partitura é produzida com um factor de escala de 0.7.
  Um valor maior irá aumentar a partitura, um valor menor, diminuir o
  seu tamanho;
\item reduzir o espaço entre partituras com os comandos
  \cmd{\%\%staffsep} e \cmd{\%\%sysstaffsep}, e o uso de comando que
  alteram o espaçamento vertical do título, subtítulo, letra, etc.
\item se a opção \cmd{-c} (ver secção~\ref{sec:pitch}) for usada, o
  comando \cmd{\%\%maxshrink} \parm{factor} pode ser usado para
  reduzir o espaçamento horizontal entre notas. A compressão máxima
  pode ser obtida com um \parm{factor} = 1, a mínima com \parm{factor}
  = 0.
\item para achatar ligaduras, use o comando \cmd{\%\%slurheight}.
\end{itemize}

% -----

\section{Configurações avançadas (para utilizadores experientes)}
\label{sec:decopers}

\abcm{} tem uma funcionalidade muito poderosa: a possibilidade de
modificar e/ou adicionar rotinas \ps{} e novos símbolos. Para fazer
isto, o utilizador deve incluir uma série de comandos que definam o
novo símbolo ou rotina no código, usando as rotinas \ps{} definidas no
\abcm{} ou adicionando novas.

Devemos dizer que apenas programadores-músicos deverão ser capazes de
usar estas funcionalidades. Além de mais, é necessário estudar o
código fonte do \abcm{} e olhar para o código \ps{} que ele produz.

% -----

\subsection{Novas Rotinas \ps}

O comando \cmd{\%\%postscript}, seguido por código na linguagem \ps{},
adiciona novas rotinas ou redefine as existentes. Por exemplo, os
comandos seguintes redefine a rotina \cmd{dlw} de forma a que as
linhas da partitura sejam mais finas.

\begin{Verbatim}[fontsize=\small]
%%postscript /dlw
%%postscript {0.2 setlinewidth} bdef  % default: 0.7
\end{Verbatim}

As rotinas \ps{} no \abcm{} são definidos no ficheiro de código
\file{syms.c}.

% -----

\subsection{Novos Símbolos}

O comando \cmd{\%\%deco} adiciona novos símbolos de expressão,
re-usando rotinas no \abcm{} ou possivelmente as definidas pelo
utilizador. A sintaxe é a seguinte:

\medskip

\cmd{\%\%deco} \parm{nome} \parm{tipo}
\parm{ps} \parm{h} \parm{wl} \parm{wr} \parm{string}

\medskip

onde:

\begin{itemize}
\item \parm{nome} é o nome do novo símbolo (sem os pontos de exclamação);
\item \parm{tipo} é um inteiro que especifica o tipo de símbolo.  Os
  valores entre 0 e 2 indicam um símbolo perto da nota e dentro da
  pauta, de 3 a 5 perto da nota mas fora da pauta, 6 e 7 são
  expressões associadas à pauta. Para dar uma ideia do posicionamento
  dos símbolos, aqui fica uma listagem:
  \begin{itemize}
  \item 0: como \cmd{!tenuto!} ou staccato;
  \item 1: com o \cmd{!slide!};
  \item 2: como o  \cmd{!arpeggio!};
  \item 3, 4: expressões genéricas;
  \item 5: como o \cmd{!trill(!} ou \cmd{!trill)!};
  \item 6: genérico;
  \item 7: como símbolos indicando o tamanho da dinâmica.
  \end{itemize}
\item \parm{ps} é o nome da rotina \ps{} que trata do símbolo. Este
  pode ser o de uma rotina definido pelo utilizador ou existente no
  \abcm{};
\item \parm{h} altura da expressão em pontos;
\item \parm{wl} e \parm{wr} não são usados;
\item finalmente, \parm{string} é texto opcional.
\end{itemize}

Vejamos um exemplo retirado do ficheiro \file{deco.abc} que é
disponibilizado com o \abcm{}. Iremos adicionar alguns novos símbolos
para dinâmica usando as rotinas \cmd{pf} pré-definidas:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
%%deco fp    6 pf   20 0 0 fp
%%deco mp    6 pf   20 0 0 mp
%%deco (f)   6 pf   20 0 0 (f)
%%deco (ff)  6 pf   20 0 0 (ff)
X: 1
T: Novos símbolos de dinâmica
K: C
!fp!CDEF GABc|!mp!CDEF !(f)!GABc|!(ff)!CDEF !ff!GABc|
\end{Verbatim}
%\end{shaded}

\score{custdeco}

\medskip

A linha \cmd{\%\%deco} implementa quatro novos símbolos: \cmd{!fp!},
\cmd{!mp!}, \cmd{!(f)!} e \cmd{!(ff)!}.

Vejamos outro exemplo. A código seguinte adiciona três novos símbolos:
um ligado à nota e dois ligados à pauta, um acima e outra abaixo da
pauta. O primeiro símbolo \cmd{!tu!} é um símbolo de staccato na forma
de um triângulo. O \cmd{!tu!} usa a nova rotina \cmd{newdot}. Os
outros símbolos são o \cmd{!rtoe!} e \cmd{!ltoe!} que usam a rotina
\cmd{toe} e adicionam um símbolo parecido com um \cmd{\^} acima e
abaixo da pauta.

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
%%postscript /newdot { % usage: x y newdot
%%postscript   M 1 2.5 rmoveto -2 0 rlineto
%%postscript   1 -5 rlineto fill } bdef
%%deco tu 0 newdot 5 0 0
%%postscript /toe {  % usage: x y toe
%%postscript    M 5 0 rmoveto
%%postscript    -5 5 rlineto -5 -5 rlineto currentpoint stroke
%%postscript } bdef
%%deco rtoe 6 toe 5 0 0
%%deco ltoe 3 toe 5 0 0
%
X: 1
T: Novos símbolos de expressão
K: C
%
!tu!C!tu!D!tu!E!tu!F GABc|!ltoe!c'!rtoe!bag .f.e.d.c|
\end{Verbatim}
%\end{shaded}

\score{newdot}

% -----

\subsection{Adicionando Tipos de letra}
\label{sec:addfonts}

Os tipos de letra normais do GhostScript não usualmente suficientes
para quase todos os utilizadores. No entanto, é possível adicionar
novos tipos de letra, mas apenas tipos \ps{}. Para mais detalhes, por
favor veja a secção~\ref{sec:fonts}.

Um bom sítio de Internet com uma grande colecção de tipos de letra
\ps{} grátis é \url{http://www.steffmann.de/english/fonts.htm}. Este é
o procedimento para adicionar um novo tipo de letra chamado Haenel Fraktur,
copiado como \file{Haenelff.zip}.

Descomprima o arquivo e copie o ficheiro \file{FHaenelf.pfb} para a
directoria que contém os tipos de letra GhostScript. Supondo que
instalou o GhostScript e os seus tipos de letra no sítio habitual,
esta directoria é \path{C:\hs\hs8.00\font} em sistemas Windows (mude o
número da versão se necessário), enquanto em Linux e outros Unix é
\path{/usr/share/fonts/default/ghostscript/}.

Agora edite a lista de tipos de letra do GhostScript. Em Windows, este
ficheiro deverá ser \path{C:\gs\gs8.00\lib\Fontmap.GS}, e em Linux
\path{/usr/share/ghostscript/6.52/lib/Fontmap.GS}. Mova-se para o fundo 
do ficheiro e adicione esta linha:

\begin{verbatim}
/Haenel-Fraktur (FHaenelf.pfb) ;
\end{verbatim}

Esta linha define um novo tipo de letra chamado
\texttt{haenel-Fraktur}. Se desejar, também pode definir um nome mais
curto, um nome alternativo para o mesmo tipo de letra:

\begin{verbatim}
/Fraktur /Haenel-Fraktur ;
\end{verbatim}

Agora estamos prontos para usar o novo tipo de letra nos ficheiros
\ABC{}. Antes de tudo, declare usando o comando \cmd{\%\%font} seguido
pelo nome do tipo de letra. No nosso exemplo:

%\begin{shaded}
\begin{Verbatim}[fontsize=\small]
%%font Haenel-Fraktur
%%titlefont Haenel-Fraktur 24
%%composerfont Fraktur 16 % use  the alias
X: 1
T: Vamos experimentar o tipo de letra Haenel-Fraktur
C: Guido Gonzato
L: 1/4
K: C
%
CDEF|GABc|cBAG|FEDC|
\end{Verbatim}
%\end{shaded}

\score{newfont}

\medskip

Tenha em atenção que alguns tipos de letra que irá encontrar na
Internet não estão completos (só contêm letras em maiúsculas, ou
falham alguns caracteres); nem todos são grátis; e nem todos têm boa
qualidade.

% -----

\noteseparator

% -----

\newpage

\part{Além de Impressão}

\section{Conversão para MIDI}
\label{sec:midi}

Escrevemos a nossa partitura mas{\ldots} \textit{errare humanum est}:
agora precisamos de verificar e ter a certeza que de não temos erros.
É muito mais fácil encontrar erros numa partitura se a puder ouvir.
Para este fim, o programa grátis \abcmid{} é muito útil. Uma única
linha de comando irá converter o código num ficheiro MIDI que pode ser
tocado com qualquer programa multimédia.

O \abcmid{} gera tantos ficheiros MIDI quantas as peças no seu
ficheiro \file{ficheiro.abc}, adicionando o número de índice do campo
\cmd{X:} para cada nome de ficheiro: \file{ficheiro1.mid},
\file{ficheiro2.mid}, {\ldots} Em Windows, clicando duas vezes no icon
destes ficheiros irá tocá-los. O JedABC até integra o \abcmid{}
directamente.

No entanto, existe um problema sério: o \abcm{} e \abcmid{} não são
completamente compatíveis um com o outro, uma vez que o primeiro
aceita uma sintaxe mais extendida do que o segundo. Consequentemente,
quando escrever músicas em \ABCP{} alguns pormenores devem ser tidos
em conta:

\begin{itemize}
  
\item o campo \field{Q:} no \abcmid{} não aceita texto em frente da
  definição de tempo.
  
\item nomes das vozes nos campos \field{V:} são apenas números, e não
  sequências de caracteres.

\item os campos \field{V:} não podem aparecer no cabeçalho. Além disso,
  indicações como \texttt{V: 4 clef=bass} não são reconhecidos\footnote{Para
    baixar uma voz escrita na clave de fá por uma oitava, adicione
    a indicação onde a parte inicia: \cmd{[K:D octave=-1]}}.

\item não são permitidas pausas invisíveis.
  
\item texto entre aspas só podem conter acordes de acompanhamento
  válidos e não anotações textuais.
  
\item quando o compasso inicial de uma peça é repetido (com
  \car{:\textbar}), normalmente a \car{\textbar:} é omitida. No
  entanto, o \abcmid{} precisa que esta seja inserida.

\item se uma mudança de sistema ocorre no meio de uma peça, 
  o \abcmid{} perde-se e gera um ficheiro MIDI incorrecto.

\item o \abcmid{} não aceita os campos \field{d:}.

\item \textit{TODO: encontrar outras incompatibilidades.}

\end{itemize}

O problema aparece em como escrever música que possa ser convertida
para \ps{} e também para MIDI. Em teoria, teria de escrever dois
ficheiros, um para o \abcm{} e outro para o \abcmid{}: isto é
completamente inaceitável. Uma alternativa é usar o pré-processador,
que é discutido na próxima secção.

% -----

\section{O Pré-processador \abcpp{}}
\label{sec:abcpp}

Um \emph{prë-processador} é um programa que modifica um ficheiro de
texto, de acordo com comandos contidos no ficheiro. O \abcpp{} é um
pré-processador expressamente desenhado para ficheiros \ABC.
Permite-lhe:

\begin{itemize}
\item excluir ou incluir partes de uma peça de acordo com condições
  especificadas;
\item definir \emph{macros}, isto é, símbolos e sequências de comandos
  especificados pelo utilizador;
\item renomear comandos, decorações e notas;
\item incluir partes de outros ficheiros.
\end{itemize}

Não será necessário dizer que o \abcpp{} é um programa de linha de
comando. Usa-o especificando os nomes do ficheiro de entrada e do de
saída, e possivelmente definindo \emph{símbolos}.

Vejamos um exemplo. Vamos escrever um ficheiro \ABC{} portável, que
possa ser lido correctamente pelo \abcm{} e \abcmid. Grave este código
com o nome \file{text.abp}:

\begin{Verbatim}[fontsize=\small]
X: 1
T: Testes com abcpp
#ifdef ABCMIDI
T: (versão para abc2midi)
Q: 1/4 = 120
#else
T: (versão para abcm2ps)
Q: "Allegro" 1/4 = 120
#endif
K: C
%
cdef gabc'|c'bag fedc|
\end{Verbatim}

Repare nas linhas que começam com \car{\#}: estas são \emph{directivas}
(comandos) para o pré-processador.

A primeira directiva significa: ``se o símbolo ABCMIDI está definido,
então{\ldots}'' Se a condição é verdadeira, o código continua com as
duas linhas seguintes; caso contrário, com as linhas que seguem a
directiva \texttt{\#else}. A directiva \texttt{\#endif} termina a
condição.

Para converter o código e torná-lo aceitável para \abcmid, iremos correr
o \abcpp{} com esta linha de comando:

\begin{Verbatim}[fontsize=\small]
abcpp -ABCMIDI test.abp test-midi.abc
\end{Verbatim}

Desta forma definimos o símbolo \texttt{ABCMIDI}, e um novo ficheiro
\ABC{} será criado:

\begin{Verbatim}[fontsize=\small]
X: 1
T: Testes com abcpp
T: (versão para abc2midi)
Q: 1/4 = 120
K: C
%
cdef gabc'|c'bag fedc|
\end{Verbatim}

Se executar o \abcpp{} sem definir quaisquer símbolos, irá obter o
código correcto para o \abcm:

\begin{Verbatim}[fontsize=\small]
abcpp test.abp test-ps.abc
\end{Verbatim}

\begin{Verbatim}[fontsize=\small]
X: 1
T: Testes com abcpp
T: (Versão para abcm2ps)
Q: "Allegro" 1/4 = 120
K: C
%
cdef gabc'|c'bag fedc|
\end{Verbatim}

Vamos analisar outro exemplo. \abcmid{} não suporta pausas invisíveis.
Para tornar possível o seu uso e portabilidade, teremos de inserir
estas linhas no código:

\begin{Verbatim}[fontsize=\small]
#ifdef MIDI
#define !x! z
#else
#define !x! x
#endif
\end{Verbatim}

Explicando: ``se o símbolo \texttt{MIDI} está definido, definir a
decoração \texttt{!x!} como \texttt{z}; caso contrário, \texttt{!x!}
irá tornar-se \texttt{x}''. À medida que escreve a música, irá usar
\texttt{!x!} para denotar pausas invisíveis. Quando converter o código
para \abcm{} ou \abcmid, o símbolo \texttt{!x!} irá ser transformado
em \texttt{x} ou \texttt{z}.

\abcpp{} pode fazer muitas mais coisas por si. Leia a sua documentação
para mais informação e exemplos.

% -----

\section{Extracção de Partes}
\label{sec:abcprt}

Outra ferramenta útil é o \abcprt, que extrai vozes de código
polifónicos. Usa o \abcprt{} para criar novos ficheiros \ABC{} que
contêm as vozes extraídas.

Por exemplo, supondo que queremos extrair a parte do tenor (voz 3) do
Ave Verum listado na secção~\ref{sec:format}, tudo que tem de fazer é
executar o \abcprt{} desta forma:

\begin{Verbatim}[fontsize=\small]
abc2prt -3 AveVerum.abc AveVerum-3.abc
\end{Verbatim}

Neste exemplo, um novo ficheiro \ABC{} chamado \file{AveVerum-3.abc} será criado
contendo apenas a voz 3.

O \abcprt{} está integrado no JedABC.

% -----

\section{Inserindo Música noutros Programas}
\label{sec:word}

Folhas de música em \ps{} podem ser convertidas facilmente para outros
formatos destinados a processamento de texto, páginas de Internet,
etc. Na prática, existem dois formatos recomendados: JPG e PNG. Este
último é o melhor.

Para converter \ps{} para PNG, os utilizadores de Windows podem usar o
GhostView. Seleccionar \entry{File}{Convert}, escolher \texttt{png16}
no campo \texttt{Device}, e seleccionar as páginas que deseja
converter.

A resolução é um parâmetro muito importante. Quanto maior a resolução,
melhor a qualidade da imagem gerada; mas o tamanho do ficheiro também
aumenta exponencialmente. Uma resolução de 300 pontos por polegada é
bastante bom.

Os utilizadores Linux podem usar o interpretador GhostScript. O código
seguinte converte um ou mais ficheiros para PNG:

\begin{Verbatim}[fontsize=\small]
#!/bin/sh

FILE=$(basename $1 .ps)

gs -dNOPAUSE -q -dBATCH -sPAPERSIZE=a4 \
   -sDEVICE=png16 \
   -r100x100 \
   -sOutputFile=$FILE-%003d.png \
   $1
\end{Verbatim}

Um método semelhante que permite melhores resultados é o uso do
\app{convert}, um comando providenciado pelo pacote ImageMagick
(\url{http://www.imagemagick.org/}. Usa-o da seguinte forma:

\begin{Verbatim}[fontsize=\small]
convert -density 100x100 file.ps file.png
\end{Verbatim}

O parâmetro \texttt{-density} especifica a resolução. O PNG resultante deve
parecer bastante melhor do que o que obteve com o GhostScript, porque o \app{convert} usa
técnicas de suavização da imagem.

% -----

\section{Inserindo Música em \LaTeX}
\label{sec:latex}

Este guia está escrito em \LaTeX, que pode querer usar em vez de um
processador de texto. Para inserir música ABC em documento \LaTeX,
pode decidir se deseja o seu documento final em \ps{} ou PDF.

Em ambos os casos, irá precisar de converter a partitura para EPS
(encapsulated \ps). Isto é feito especificando o comando \cmd{-E} na
linha de comando do \abcm{}, ou usando o comando \cmd{ps2epsi}. Este
último faz parte do GhostScript. Quando estiver pronto, irá incluir o
pacote \app{graphicx} no seu documento e incluir a música como neste
exemplo:

\begin{Verbatim}[fontsize=\small]
\documentclass[a4paper,12pt]{article}
\usepackage{graphicx}

\begin{document}

E agora, alguma música em ABC:

\medskip

\includegraphics[width=\linewidth]{musica.eps}

\end{document}
\end{Verbatim}

Se desejar usar o \cmd{pdflatex}, irá ter de converter a partitura de
EPS para PDF usando o comando \cmd{epstopdf}, e depois inserir o
ficheiro PDF no \LaTeX{}.

% -----

\section{Conversão de Gráficos para EPS}
\label{sec:jpgeps}

A SER ESCRITO


% -----

\section{Limitações do \abcm}

Apesar de ser um programa bastante poderoso, o \abcm{} ainda tem
algumas limitações que devemos ter em conta:
\begin{itemize}
\item não é possível o posicionamento manual de símbolos;

\item não é possível criar quebras de linha em posições especificadas;
  
\item alguns parâmetros de formatação não podem ser mudados dentro da
  mesma música;
  
\item não permite que o utilizador especifique se as ligaduras de
  expressão devem ser desenhadas por cima ou por baixo das notas;

\item não suporta notações peculiares como percussão ou Canto Gregoriano;
  
\item {\ldots}

\end{itemize}

Esta lista era maior algumas versões atrás{\ldots} quase de certeza
que muitas destas potencialidades irão ser adicionadas em versões
futuras do \abcm.

% -----

\section{O Fim}

Este guia é escrito e com direitos de cópia por Guido Gonzato,
\texttt{<guido.gonzato@univr.it>}, e está disponível sob a licença GNU
GPL. Isto significa que o guia está disponível sem qualquer custo, e é
livremente distribuível e modificável. No entanto, se deseja
modificações no texto deve torná-las publicas.

Repito, este guia é gratuito. No entanto, uma pequena oferta será
muito apreciada. Por favor, visite a página do \ABCP{} para detalhes.

Um grande ``obrigado!'' ao autor do \abcm, Jean-François Moine, por
ter escrito um tão lindo e útil programa. 

Obrigado ao meu amigo Maestro Sandro Pasqualetto e a Gianni Cunich
pelas suas sugestões em como melhorar este guia. Finalmente, obrigado
a todas as pessoas que contribuíram para o \ABC!

% -----

\section{Em memória de Annarosa Del Piero, 1930--2000}

Tive o privilégio de ser amigo de Annarosa, sem quem teria sido uma
pessoa diferente.

Sem dúvida, Annarosa era única. Ela amava e gozava profundamente arte
e música. Partilhou o seu amor comigo quando era uma criança, dando-me
gravações de árias de opera e presentes. Levou-me de comboio a Veneza
pela primeira vez na minha vida, e introduziu-me à beleza das
montanhas.

Enfrentou a sua doença fatal com coragem e dignidade. Até ao fim,
ouviu à sua música favorita, até ao fim, deu-me lindas gravações de
opera como presente. Este guia é dedicado à sua memória: uma pequena
folha nasceu da semente que ela atirou quando colocou um miúdo de seis
anos a ouvir o Rigoletto, tantos anos atrás. Adeus, Annarosa.

% ----- Appendici

\appendix

\section{Termos}
\label{sec:help}

\begin{description}
  
\item [editor:] um programa para escrever ``texto ASCII'', sem
  qualquer formato.  Exemplos de editores são o Notepad do Windows ou
  o SimpleText do Macintosh.
  
\item [tipo de letra:] estilo de letra (\emph{font}); por exemplo,
  Times ou Helvetica.
  
\item [GPL:] uma licença que disciplina o uso de vários programas
  disponíveis na Internet. Basicamente, um programa com licença GPL
  pode ser usado livremente e partilhado, sem ter de pagar por isso.
  Visite \url{http://www.gnu.org/} para mais detalhes.
  
\item [MIDI:] de forma genérica, a forma equivalente a uma página de
  música audível. Pode ouvir um ficheiro MIDI sem qualquer programa
  especial.
  
\item [PDF:] formato de ficheiro inventado pela Adobe, muito comum na Internet
  para distribuir documentação. É uma versão melhorada do \ps.
  
\item [\ps:] formato de ficheiro inventado pela Adobe. Ao contrário
  dos ficheiros gráficos como o JPG, PNG ou outros, o \ps{} é um
  formato \emph{vectorial}. Isto significa que pode aumentar a imagem
  a gosto sem perder qualidade nos detalhes.
  
\item [sistema:] conjunto de pautas relativas aos instrumentos que
  tocam juntos numa peça musical.
  
\item [string:] conjunto/sequência de caracteres.
  
\end{description}

% -----

\section{Comandos de Formatação}
\label{sec:comandi}

% ----- page format

\subsection{Formato de Página}

Estes comandos especificam a forma da página:

\begin{description}
  
\item[\cmd{\%\%pageheight} \parm{comprimento}:] especifica a altura da
  página.  Para papel europeu A4, o valor correcto é \cmd{29.7cm};
  para US Letter, \cmd{11in}.
  
\item[\cmd{\%\%pagewidth} \parm{comprimento}:] especifica a largura da
  página.  Para papel europeu A4, o calor correcto é \cmd{21cm}; para
  US Letter, \cmd{8.5in}.
  
\item[\cmd{\%\%topmargin} \parm{comprimento}:] comprimento da margem
  superior da página.
  
\item[\cmd{\%\%botmargin} \parm{comprimento}:] comprimento da margem
  inferior da página.
  
\item[\cmd{\%\%leftmargin} \parm{comprimento}:] especifica a margem
  esquerda da página.
  
\item[\cmd{\%\%rightmargin} \parm{comprimento}:] especifica a margem
  direita da página.
  
\item[\cmd{\%\%indent} \parm{comprimento}:] especifica a indentação
  para a primeira linha ou sistema.
  
\item[\cmd{\%\%staffwidth} \parm{comprimento}:] usado como alternativa
  aos comandos \cmd{\%\%page\-height} e \cmd{\%\%page\-width}.
  
\item[\cmd{\%\%footer} \parm{texto}:] especifica o texto a ser
  impresso como rodapé em cada página.
  
\item[\cmd{\%\%landscape} \parm{booleano}:] se 1, coloca o formato da
  página deitado.
  
\end{description}

% ----- text

\subsection{Texto}

Estes comandos são usados para escrever linhas de texto em, e entre
músicas. O tipo de letra e espaçamento são escolhidos com outros
comandos que iremos examinar mais tarde.

\begin{description}

\item [\cmd{\%\%text} \parm{texto}:] escreve o texto seguinte. Por exemplo:
\begin{verbatim}
    %%text Música popular Espanhola
\end{verbatim}
  
\item [\cmd{\%\%center} \parm{texto}:] como a anterior, mas com o
  texto centrado;
  
\item [\cmd{\%\%begintext{\ldots}\%\%endtext}]: o par
  \cmd{\%\%begintext} e \cmd{\%\%endtext} inclui um grupo de linhas de texto
  que iniciam com \cmd{\%\%}. Estas linhas irão ser impressas. Se não existir
  texto após os caracteres \cmd{\%\%}, a linha é um separador de parágrafo.
  Por exemplo:
  \begin{verbatim}
    %%begintext
    %% Música popular espanhola, usualmente
    %% acompanhada por guitarra e tímbales
    %%endtext
  \end{verbatim}
  O comando \cmd{\%\%begintext} pode ter um parâmetro para mudar o alinhamento
  do texto:
  \begin{description}
  \item [\cmd{\%\%begintext obeylines}] texto pré-formatado;
  \item [\cmd{\%\%begintext fill}] alinhar ambas as margens; 
  \item [\cmd{\%\%begintext justify}] alinhar à margem direita (??);
  \item [\cmd{\%\%begintext skip}] ignorar as linhas que se seguem;
  \end{description}
  
\item [\cmd{\%\%sep}:] imprimir um separador centrado (uma linha
  curta).
  
\item [\cmd{\%\%sep} \parm{h1} \parm{h2} \parm{l}:] imprime um
  separador de comprimento \parm{l}, com espaçamento \parm{h1} acima e
  \parm{h2} abaixo.
  
\item [\cmd{\%\%vskip} \parm{h}:] adiciona espaço vertical.
  
\item [\cmd{\%\%newpage}:] obriga o início de uma nova página.
  
\end{description}

% ----- font

\subsection{Tipos de Letra}
\label{sec:fonts}

Estes comandos especificam os tipos de letras a ser usados nas várias
partes da música. Note que os tipos de letra comuns usados pelo
Windows (True Type Fonts) não são os mesmos usados pelo \abcm. De
facto, o \abcm{} usa tipos de letra \ps{}, providenciados pelo
GhostScript. Na prática, irá usar apenas três ou quatro tipos de
letra: por favor veja a tabela~\ref{tab:font}.


\begin{table}
\begin{center}
  \begin{tabular}{|l|l|}
  \hline
  \textbf{\ps{}} & \textbf{Exemplo} \\
  \hline
  Times & 
    {\fontfamily{ptm}\selectfont texto escrito em Times} \\
  Times-Roman &
    {\fontfamily{ptm}\selectfont \textit{texto escrito em Times-Roman}} \\
  Helvetica &
    {\fontfamily{phv}\selectfont texto escrito em Helvetica} \\
  Helvetica-Oblique &
    {\fontfamily{phv}\selectfont \textit{texto escrito em Helvetica-Oblique}} \\
  AvantGarde-Book & 
    {\fontfamily{pag}\selectfont texto escrito em Avantgarde-Book} \\
  Courier &
    {\fontfamily{pcr}\selectfont texto escrito em Courier} \\
  \hline
  \end{tabular}
  \caption{Alguns tipos de letra \ps.}
  \label{tab:font}
\end{center}
\end{table}

Os tipos de letra permitidos são listados no apêndice~\ref{sec:font}.

\begin{description}
  
\item[\cmd{\%\%titlefont} \parm{string}:] tipo de letra do primeiro
  campo \field{T:}.
  
\item[\cmd{\%\%subtitlefont} \parm{string}:] tipo de letra do segundo
  campo \field{T:}.
  
\item[\cmd{\%\%composerfont} \parm{string}:] tipo de letra do campo
  \field{C:}.
  
\item[\cmd{\%\%partsfont} \parm{string}:] tipo de letra do campo
  \field{P:}.
  
\item[\cmd{\%\%tempofont} \parm{string}:] tipo de letra do andamento.
  
\item[\cmd{\%\%gchordfont} \parm{string}:] tipo de letra para os
  acordes de guitarra.
  
\item[\cmd{\%\%infofont} \parm{string}:] tipo de letra dos campos
  \field{I:}.
  
\item[\cmd{\%\%font} \parm{string}:] tipos de letras das linhas dos
  comandos \cmd{\%\%text}.
  
\item[\cmd{\%\%vocalfont} \parm{string}:] tipo de letra para as linhas
  de texto nos campos \field{w:}.
  
\item[\cmd{\%\%wordsfont} \parm{string}:] tipo de letra para as linhas
  de texto dos campos \field{W:}.
  
\item[\cmd{\%\%titlecaps} \parm{booleano}:] se 1, escreve o título em
  letras maiúsculas.
  
\item[\cmd{\%\%titleleft} \parm{booleano}:] se 1, escreve o título alinhado
  à esquerda em vez de centrado.
  
\end{description}

% ----- spacing

\subsection{Espaçamento}

Estes comandos especificam o espaçamento entre elementos da partitura.

\begin{description}
  
\item[\cmd{\%\%topspace} \parm{comprimento}:] especifica o espaço
  vertical no topo da música. Note que uma música pode começar com
  comandos \cmd{\%\%text} antes do título.
  
\item[\cmd{\%\%titlespace} \parm{comprimento}:] especifica o espaço
  vertical antes do título.
  
\item[\cmd{\%\%subtitlespace} \parm{comprimento}:] especifica o espaço
  vertical antes do subtítulo.
  
\item[\cmd{\%\%composerspace} \parm{comprimento}:] especifica o espaço
  vertical antes do compositor.
  
\item[\cmd{\%\%musicspace} \parm{comprimento}:] especifica o espaço
  vertical antes da primeira pauta.
  
\item[\cmd{\%\%partsspace} \parm{comprimento}:] especifica o espaço
  vertical antes de uma nova parte.
  
\item[\cmd{\%\%vocalspace} \parm{comprimento}:] especifica o espaço
  vertical antes da letra da música abaixo da pauta.
  
\item[\cmd{\%\%wordsspace} \parm{comprimento}:] especifica o espaço
  vertical antes da letra da música no fim da música.
  
\item[\cmd{\%\%textspace} \parm{comprimento}:] especifica o espaço
  vertical antes do texto.
  
\item[\cmd{\%\%infospace} \parm{comprimento}:] especifica o espaço
  vertical antes da linha de informação.
  
\item[\cmd{\%\%staffsep} \parm{comprimento}:] especifica o espaço
  vertical entre sistemas diferentes.
  
\item[\cmd{\%\%sysstaffsep} \parm{comprimento}:] especifica o espaço
  vertical entre pautas do mesmo sistema.
  
\item[\cmd{\%\%barsperstaff} \parm{inteiro-n}:] tenta desenhar a
  partitura com \textit{n} barras de divisão por linha.
  
\item[\cmd{\%\%parskipfac} \parm{real}:] especifica o factor de
  espaçamento entre partes.
  
\item[\cmd{\%\%lineskipfac} \parm{real}:] especifica o factor 
  de espaçamento entre linhas de texto.
  
\item[\cmd{\%\%stretchstaff} \parm{booleano}:] estica pautas pouco
  preenchidas à largura da página.
  
\item[\cmd{\%\%stretchlast} \parm{booleano}:] estica a última pauta da
  música quando demasiado pequena.
  
\item[\cmd{\%\%maxshrink} \parm{real}:] especifica qual a compressão
  horizontal a usar quando as quebras de pautas são escolhidas
  automaticamente. O valor deve ser entre 0 (não encolher) e 1
  (encolher completamente).

\item[\cmd{\%\%scale} \parm{real}:] especifica o factor de escala.
  
\end{description}

% ----- other

\subsection{Outros Comandos}
\label{sec:othercmd}

Comandos variados estão agrupados nesta secção.

\begin{description}
\item[\cmd{\%\%autoclef} \parm{booleano}:] se 0, o \abcm{} não irá mudar
  automaticamente a clave quando as notas são muito altas ou baixas.

\item[\cmd{\%\%deco} \parm{str} \parm{int} \parm{str} \parm{int} 
  \parm{int} \parm{int} \parm{str}:] adiciona uma nova decoração. Os detalhes são
  explicados na secção~\ref{sec:decopers}.
  
\item[\cmd{\%\%postscript} \parm{str}:] uma série destes comandos
  permite-lhe adicionar uma nova rotina \ps{}, ou mudar uma existente.
  
\item[\cmd{\%\%measurefirst} \parm{inteiro}:] especifica o valor a ser
  usado para iniciar a numeração de compassos.
  
\item[\cmd{\%\%measurenb} \parm{inteiro}:] desenha a numeração de compassos todas
  as \textit{n} barras.
  
\item[\cmd{\%\%EPS} \parm{str}:] permite a inclusão de um ficheiro EPS
  externo na partitura.
  
\item[\cmd{\%\%measurebox} \parm{booleano}:] desenha uma caixa à volta
  da numeração de compassos.
  
\item[\cmd{\%\%encoding} \parm{inteiro}:] (para utilizadores
  experientes) coloca a codificação de linguagem para
  ISO-Latin\textit{n}, onde \textit{n} pode variar de 0 até 6. O valor
  0 é o mesmo que 1, mas a tabela de codificação não é escrita no \ps.
  
\item[\cmd{\%\%continueall} \parm{booleano}:] ignora as quebras de
  linha na música, se verdadeiro.
  
\item[\cmd{\%\%exprabove} \parm{booleano}:] desenha as decorações de
  expressão acima da pauta. Se nem \cmd{exprabove} nem \cmd{exprbelow}
  são verdadeiros, serão desenhadas acima da pauta se existir letra de
  música, caso contrário, por baixo. \cmd{exprabove} tem precedência
  em relação ao \cmd{exprbelow};

\item[\cmd{\%\%exprbelow} \parm{booleano}:] desenha as decorações de expressão
  abaixo da pauta;
  
\item[\cmd{\%\%graceslurs} \parm{booleano}:] desenhar ligaduras nas
  apogiaturas;
  
\item[\cmd{\%\%infoline} \parm{booleano}:] mostra o ritmo e origem na
  mesma linha;
  
\item[\cmd{\%\%musiconly} \parm{booleano}:] não desenha a letra de
  música, se verdadeiro;
  
\item[\cmd{\%\%oneperpage} \parm{booleano}:] desenhar uma música por página;
  
\item[\cmd{\%\%vocalabove} \parm{booleano}:] escrever a letra de
  música acima da pauta;
  
\item[\cmd{\%\%withxrefs} \parm{booleano}:] imprimir o número do campo
  \field{X:} no título;
  
\item[\cmd{\%\%writehistory} \parm{booleano}:] imprimir anotações, história, etc.
  
\end{description}

% ----- Font PostScript

\section{Tipos de letra PostScript}
\label{sec:font}

\includegraphics{images/fonts.pdf}

\end{document}

% ----- End of file manual.tex
