autosp - instrukcja obsługi, opcje, przykłady poleceń


NAZWA

autosp - preprocesor do generowania poleceń odstępów między nutami dla partytur MusiXTeX

STRESZCZENIE

autosp [-v | --version | -h | --help]

autosp [-d | --dotted] [-l | --log] infile[.aspc] [outfile[.tex]]

OPIS

Ten program ułatwia tworzenie partytur MusiXTeX poprzez konwersję (niestandardowych) poleceń w postaci \anotes ... \en na jedno lub więcej konwencjonalnych poleceń dotyczących odstępów między nutami (\notes \Notes \NOtes ...), określonych przez rzeczywiste wartości nut, z wstawionymi poleceniami odstępów \sk, jeśli to konieczne. Kodowanie dla całego taktu można wprowadzać po jednej części na raz, bez obawy o zmiany odstępów między nutami w części lub wymagania dotyczące odstępów w innych częściach.

Na przykład, jeśli stosuje się do


    \anotes\qa J\qa K&\ca l\qa m\ca n\en 

autosp generuje


    \Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en

Zwykle polecenie \anotes generuje kilka konwencjonalnych poleceń dotyczących odstępów między nutami.

Jeśli argument infile nie ma rozszerzenia .aspc, dane wejściowe są pobierane z pliku infile.aspc, jeśli taki plik istnieje.

Jeśli argument outfile nie ma rozszerzenia .tex, dane wyjściowe są wysyłane do outfile.tex. Jeśli nie zostanie podany żaden argument outfile, dane wyjściowe zostaną przesłane do infile.tex (lub do infile.ltx, jeśli napotkana zostanie deklaracja \documentclass).

W przypadku poleceń \anotes podziały linii i spacje mogą poprzedzać segmenty nut, umożliwiając bardziej elastyczne formatowanie źródła; podziały linii i spacje zostaną usunięte z wyjścia.

Na przykład,


  \anotes
    \ibl0K0\qb0K\nbbl0\qb0{.K}\tbbbl0\tbbl0\tql0L&
    \ibbl1m{-2}\qb1{.m}\tbbbl1\tbbl1\qb1l\tql1k\en

jest akceptowalny i generuje


  \notesp\ibl0K0\qb0K&\ibbl1m{-2}\qb1{.m}\en
  \nnotes\sk&\tbbbl1\tbbl1\qb1l\en
  \notesp\nbbl0\qb0{.K}&\tql1k\en
  \nnotes\tbbbl0\tbbl0\tql0L&\sk\en

Jeśli używana jest opcja -l ( --log ), generowany jest bardzo szczegółowy dziennik infile.alog.

Jeśli używana jest opcja -d ( --dotted ), kropkowane notatki belki w postaci \qb{n }{.p} nie mają dodatkowego miejsca; zakłada się, że następna nuta zostanie przesunięta poleceniem podobnym do \roff lub poleceniem spacji, takim jak \qsk lub \hqsk. Polecenia postaci \qlp{p}, \qlpp{p}, ..., \qpb{n}{ p} i \qppb{n}{p} są zawsze rozmieszczone tak, jak wskazano.

Jeśli występuje jedna pięciolinia, kolejne pręty podtrzymujące na cały takt są łączone w podpórkę wielotaktową. Pauzy wyśrodkowane na takcie można zakodować przy użyciu standardowej notacji \def\atnextbar, ale niestandardowe polecenie \Cpause (lub \Cp) w segmencie nut również generuje pauzę wyśrodkowaną na takcie.

Polecenia odstępów \sk i \bsk w źródle są odrzucane, ale nie „małe” pomija \hsk, \qsk, \tqsk, \hqsk lub \qqsk, lub małe „wsteczne” pomija \hbsk, \bqsk, \btsk, lub \bhsk. Ponadto niestandardowe polecenia \QQsk, \HQsk \TQsk i \Qsk w źródle generują „globalne” pominięcia; tj. wpływ odpowiednio \qqsk, \hqsk, \tqsk lub \qsk na każdą pięciolinię. Zapewniają one, że pięciolinii pozostają zsynchronizowane, jeśli potrzebne są dodatkowe odstępy na dowolnej pięciolinii.

Globalne pominięcia można również uzyskać w sekwencjach kodowania zbiorczego, używając do czterech kolejnych przecinków, aby uzyskać odpowiednio efekty \QQsk, \HQsk, \TQsk lub \Qsk. Globalne pominięcia \tqsk (lub, w przypadku podwójnych płazów, \qsk) są automatycznie wstawiane przed znakami przypadkowymi ('^', '_', '=', '<', '>') w notatkach o kodowaniu zbiorczym (z wyjątkiem sytuacji, gdy poprzedzająca notatka jest „wirtualna”, tj. pominięcie). Jeśli ta automatyczna dodatkowa spacja nie jest pożądana w jakimś kontekście, można jej uniknąć, zastępując znak przypadkowy w sekwencji kodowania zbiorowego dowolnym jawnym poleceniem przypadkowym: \sh , \fl, \na, \smallsh, \bigsh itd. Jeśli automatyczne odstępy są niewystarczające, można je zwiększyć, dodając odpowiednią liczbę przecinków lub używając konwencjonalnego polecenia nut zamiast \anotes.

Segment nuty może być całkowicie pusty, ale jeśli segment nuty powinien zaczynać się od „spacji” lub zawierać ją, wartość nuty tej spacji musi być jawna za pomocą polecenia w postaci \ha{*}, \qa{. *}, \qa{*}, \ca{*} itd.

Od wersji 2017-06-14 efekty wywołań \TransformNotes są realizowane przez preprocesor autosp. Umożliwia to użycie musixlyr w partyturach autosp; musixlyr.tex jest niezgodny z implementacją musixtnt.tex \TransformNotes.

Wszystkie inne konwencjonalne polecenia MusiXTeX są wyprowadzane dokładnie tak, jak podano na wejściu.

OPERACJA

autosp określa odstępy między zwykłymi nutami na podstawie samych poleceń nut; Na przykład,

+
\qa, \qu, \ql, \qp 

skutkować w

\NOtes; 
+

\ca, \cu, \cl, \ds

skutkować w

\Notes; 

i tak dalej. Odstępy dla przesuniętych nut są określane przez krotność wiązek, więc \ib... daje \Notatki, \ibb... daje \notatki itd.

Zbiorcze kodowanie sekwencji nut (w tym znaków przypadkowych i kropek) jest obsługiwane przez rozszerzenie sekwencji do sekwencji pojedynczych poleceń nutowych.

autosp skaluje nuty według odpowiedniej wartości wielkości instrumentu.

OGRANICZENIA

autosp zakłada, że & i | (zamiast \nextinstrument i \nextstaff) są używane do oddzielania instrumentów i pięciolinii.

Appoggiaturas i przednutki są rozpoznawane za pomocą \tinynotesize; odstęp między nutami wynosi 1,45\elemskip. Jeśli nie jest to odpowiednie i nie można tego poprawić małym pominięciem, można użyć polecenia \vnotes z dowolnymi odstępami.

autosp obsługuje x-tuplety wprowadzone za pomocą \xtuplet{x} lub \xxtuplet{x:y} i <trojaczki wprowadzone za pomocą dowolnego z poniższych poleceń (niezależnie od ponownej definicji \txt lub \tuplettxt):


  \triolet
  \uptrio
  \downtrio
  \uptuplet
  \downtuplet

autosp zakłada, że x-tuplet ma zostać odtworzony w (x-1)/x pozornego czasu trwania x-tuplet. Na przykład zakłada się, że triola w ósemkach jest grana w czasie jednej ćwierćnuty. Jeśli to założenie nie jest poprawne, x-tuplet musi być jawnie zakodowany przy użyciu odpowiedniego polecenia \vnotes; zobacz pierwszy takt barsant2.aspc dla przykładu niestandardowej krotki x: 5-krotki 64-tych nut o zamierzonym czasie trwania sześciu 64-tek.

W niektórych partyturach polirytmicznych cyfra \txt może zostać przesunięta, nawet jeśli same nuty są odpowiednio rozmieszczone. W takich przypadkach możliwe jest wyłączenie normalnego wyjścia \txt za pomocą niestandardowych poleceń \Triolet (bez argumentów) lub \Xtuplet{k}\ i umieszczenie cyfry we właściwym miejscu za pomocą \zcn (tj.\zcharnote).

autosp radzi sobie z jednoczesnymi krotkami x na wielu pięcioliniach, pod warunkiem, że wartości x i całkowity czas trwania nut są identyczne.

W niektórych barokowych partyturach, zwłaszcza J.S. Bacha, belkowa szesnastka jest wyrównana pionowo z trzecią nutą trioli ósemek na innej pięciolinii (co sugeruje, że powinny one brzmieć jednocześnie); np.,


    \ibl0L0\qb0{.L}\tqql0L

byłby odtwarzany tak, jakby był zapisany


    \uptrio{b}10\ql L\hroff{\cl L}

Poniższe kodowanie wyrówna emitowaną szesnastkę z trzecią nutą trioli na innej pięciolinii:


    \ibl0L0\qb0{.L}\hbsk\tqql0L

i podobnie dla trójek szesnastkowych:


    \ibbu0J0\qb0{.J}\hbsk\nqqqu0J\qb0{.J}\hbsk\tqqqu0J

Zasadniczo makra zdefiniowane przez użytkownika nie są przetwarzane ani rozwijane; jednak definicje formy


    \def\atnextbar{\znotes ... \en}

generować definicje uwzględniające \TransformNotes.

Zakłada się, że wszystkie laski mają ten sam licznik; zobacz kinder2.aspc, aby zobaczyć przykład obejścia tego problemu.

autosp może nie działać w przypadku muzyki z więcej niż jednym głosem na jednej pięciolinii. Może być wskazane użycie oddzielnej pięciolinii dla każdego głosu, aby w razie potrzeby unikać \notes lub początkowo pominąć niektóre głosy i dodać je do wynikowego pliku TeX.

PRZYKŁADY

Zobacz pliki quod2.aspc, kinder2.aspc, geminiani.aspc i barsant2.aspc, aby znaleźć wyniki odpowiednie do wprowadzenia do autosp. Program tex2aspc może być użyty do konwersji „starszych” partytur MusiXTeX do formatu .aspc.

ZOBACZ TEŻ

msxlint(1) tex2aspc(1)

musixdoc.pdf

AUTOR

Ten program i strona podręcznika zostały napisane przez Boba Tennenta .