autosp - előfeldolgozó, amely a MusiXTeX pontszámokhoz jegyzetköz parancsokat generál
autosp [-v | --version | -h | --help]
autosp [-d | --dotted] [-l | --log] infile[.aspc] [outfile[.tex]]
Ez a program megkönnyíti a MusiXTeX pontszámok létrehozását azáltal, hogy a \anotes ... \en formátumú (nem szabványos) parancsokat egy vagy több hagyományos jegyzettávolságú paranccsá (\notes \Notes \NOtes ...) konvertálja, amelyet a következő határozza meg: a tényleges hangjegyértékek, szükség szerint beszúrva a \sk térköz parancsokat. A teljes ütem kódolása egy részletben adható meg, anélkül, hogy figyelembe kellene venni a részen belüli hangtávolság-változásokat vagy más részek térközigényét.
Például, ha alkalmazzák
\anotes\qa J\qa K&\ca l\qa m\ca n\en
Az autosp generál
\Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en
Általában egy \anotes parancs több hagyományos jegyzetköz parancsot generál.
Ha az infile argumentum nem rendelkezik .aspc kiterjesztéssel, a bemenet az infile.aspc fájlból származik, ha az létezik.
Ha az outfile argumentum nem rendelkezik .tex kiterjesztéssel, a kimenet a outfile.tex fájlba kerül. Ha nincs megadva outfile argumentum, a kimenet az infile.tex fájlba kerül (vagy az infile.ltx fájlba, ha \documentclass deklarációt találunk).
A \anotes parancsoknál sortörések és szóközök előzhetik meg a hangjegyszegmenseket, ami rugalmasabb forrásformázást tesz lehetővé; a sortörések és a szóközök kimaradnak a kimenetből.
Például,
\anotes
\ibl0K0\qb0K\nbbl0\qb0{.K}\tbbbl0\tbbl0\tql0L&
\ibbl1m{-2}\qb1{.m}\tbbbl1\tbbl1\qb1l\tql1k\en
elfogadható és generál
\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
Ha a -l ( --log ) opciót használja, egy nagyon részletes napló infile.alog jön létre.
Ha a -d ( --pontozott ) opciót használjuk, a pontozott \qb{n formájú hangjegyek sugározzák }{.p} nem kapnak extra helyet; Feltételezzük, hogy a következő hangot egy \roff-szerű parancs vagy egy térközparancs, például \qsk vagy \hqsk eltolja. A \qlp{p}, \qlpp{p}, ..., \qpb{n}{ formátumú parancsok A p} és a \qppb{n}{p} mindig a jelzett távolságban vannak.
Ha egyetlen rúd van, akkor az egymást követő, egész sávból álló pihenőrudak egy többrudas támasztékká egyesülnek. A sávközéppontú pihenők kódolhatók a szabványos \def\atnextbar jelöléssel, de a nem szabványos \Cpause (vagy \Cp) parancs egy hangjegyszegmensben vonalközpontú pihenést is generál.
A forrásban szereplő \sk és \bsk szóközparancsok el lesznek vetve, de nem a "small" ugrálja ki a \hsk, \qsk, \tqsk, \hqsk vagy \qqsk parancsokat, vagy a kis "visszafelé" nem hagyja ki a \hbsk, \bqsk, \btsk, vagy \bhsk. Ezenkívül a nem szabványos \QQsk, \HQsk \TQsk és \Qsk parancsok a forrásban "globális" kihagyásokat generálnak; azaz a \qqsk, \hqsk, \tqsk vagy \qsk hatása minden személyzetben. Ezek biztosítják, hogy a botok szinkronban maradjanak, ha további távolságra van szükség bármely személyzetnél.
Globális kihagyások is elérhetők a kollektív kódolási szekvenciákon belül, ha legfeljebb négy egymást követő vesszőt használunk a \QQsk, \HQsk, \TQsk vagy \Qsk hatásainak eléréséhez. A globális átugrások \tqsk (vagy dupla lapok esetén \qsk) automatikusan beszúródnak a véletlenszerűek elé ('^', '_', '=', '<', '>') a kollektív kódolású jegyzeteken (kivéve, ha a az előző hang „virtuális”; azaz kihagyás). Ha ezt az automatikus kiegészítő szóközt nem kívánjuk valamilyen kontextusban, akkor elkerülhető, ha a kollektív kódolási sorrendben a véletlenszerűt bármelyik explicit véletlenszerű parancsra cseréljük: \sh , \fl, \na, \smallsh, \bigsh stb. Ha az automatikus térköz nem elegendő, a térköz növelhető elegendő vessző hozzáadásával, vagy a \anotes helyett egy hagyományos megjegyzés parancs használatával.
Egy hangjegyszegmens lehet teljesen üres, de ha egy hangjegyszegmensnek "szóközzel" kell kezdődnie, vagy szóközt kell tartalmaznia, akkor ennek a szóköznek a hangjegyértékét explicitté kell tenni egy \ha{*}, \qa{ formátumú paranccsal. *}, \qa{*}, \ca{*} stb.
A 2017-06-14 verziótól kezdve a \TransformNotes hívások hatásait az autosp előfeldolgozó valósítja meg. Ez lehetővé teszi a musixlyr használatát az autosp partitúrákban; A musixlyr.tex nem kompatibilis a \TransformNotes musixtnt.tex megvalósításával.
Az összes többi hagyományos MusiXTeX parancs pontosan a bemenetben megadott módon jelenik meg.
Az autosp magukból a hangjegyparancsokból határozza meg a közönséges hangok térközét; például,
\qa, \qu, \ql, \qp
eredmény
\NOtes;
\ca, \cu, \cl, \ds
eredmény
\Notes;
stb. A beamed hangok térközét a nyaláb többszörössége határozza meg, így a \ib... a \Notes, az \ibb... a \notes stb.
A hangsorok kollektív kódolása (beleértve a véletleneket és a pontokat is) úgy történik, hogy a sorozatot egyedi hangparancsok sorozatává bővítik.
Az autosp a hangjegyeket a megfelelő hangszerméret-érték szerint skálázza.
Az autosp azt feltételezi, hogy & és | (a \nextinstrument és \nextstaff helyett) az eszközök és a botok elválasztására szolgálnak.
Az appoggiaturákat és a kecses hangjegyeket a \tinynotesize; 1,45\elemskip hangközt használunk. Ha ez nem megfelelő, és nem javítható egy kis kihagyással, akkor a \vnotes parancs tetszőleges szóközzel használható.
Az autosp támogatja az x-tupleteket, amelyek \xtuplet{x} vagy \xxtuplet{x:y} és < paranccsal vezették betripletek a következő parancsok bármelyikével bevezetve (a \txt vagy \tuplettxt bármilyen újradefiniálásától függetlenül):
\triolet
\uptrio
\downtrio
\uptuplet
\downtuplet
Az autosp feltételezi, hogy egy x-tupletet a látszólagos x-tuplet időtartamának (x-1)/x-ében kell lejátszani. Így például egy nyolcadban lévő tripletről azt feltételezzük, hogy egy negyed hang idejében játsszák le. Ha ez a feltevés nem érvényes, akkor az x-tupletet kifejezetten kódolni kell egy megfelelő \vnotes paranccsal; lásd a barsant2.aspc első ütemét egy nem szabványos x-hangsor példájához: 64. hangok 5-ös sora, amelynek tervezett időtartama hat 64.
Egyes poliritmikus pontszámokban a \txt szám eltolható, még akkor is, ha maguk a hangok helyesen vannak elhelyezve. Ezekben az esetekben lehetséges a \txt normál kimenetének letiltása a nem szabványos \Triolet (nincs argumentumok) vagy \Xtuplet{k}\ parancsokkal, és egy számjegy elhelyezése a megfelelő helyen a \zcn (azaz \) használatával zcharnote).
Az autosp képes kezelni az egyidejű x-tupleteket több botban, feltéve, hogy az x értékek és a hangjegyek teljes időtartama megegyezik.
Néhány barokk partitúrában, különösen J.S. Bach szerint egy sugárzó tizenhatod hang függőlegesen egy másik bot nyolcad hangjainak hármas hangjához igazodik (ez arra utal, hogy ezeket egyidejűleg kell megszólaltatni); például.,
\ibl0L0\qb0{.L}\tqql0L
úgy játsszák, mintha kotta lenne
\uptrio{b}10\ql L\hroff{\cl L}
A következő kódolás a sugárzott tizenhatod hangot egy másik botban lévő triplett harmadik hangjához igazítja:
\ibl0L0\qb0{.L}\hbsk\tqql0L
és hasonlóképpen a tizenhatodos hanghármasoknál:
\ibbu0J0\qb0{.J}\hbsk\nqqqu0J\qb0{.J}\hbsk\tqqqu0J
Általában a felhasználó által definiált makrókat nem dolgozzák fel vagy bővítik ki; azonban a forma meghatározásai
\def\atnextbar{\znotes ... \en}
olyan definíciókat generál, amelyek figyelembe veszik a \TransformNotes-t.
Feltételezzük, hogy minden botnak ugyanaz a mérőműszere; lásd a kinder2.aspc.példát ennek megkerülésére.
Előfordulhat, hogy az autosp nem hatékony olyan zenék esetén, amelyek egynél több hangon szólalnak meg. Érdemes lehet minden hanghoz külön botot használni, ha szükséges, elkerülni a \anotákat, vagy bizonyos hangokat kezdetben kihagyni, és hozzáadni a kapott TeX fájlhoz.
Tekintse meg a quod2.aspc, kinder2.aspc, geminiani.aspc és barsant2.aspc fájlokat az autosp-be való bevitelre alkalmas pontszámokért. A tex2aspc programmal a "örökölt" MusiXTeX-zenéket .aspc formátumba lehet konvertálni.
msxlint(1) tex2aspc(1)
musixdoc.pdf
Ezt a programot és a kézikönyv oldalt Bob Tennent írta: