diff options
author | Karl Berry <karl@freefriends.org> | 2013-10-02 22:18:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-10-02 22:18:36 +0000 |
commit | 92ad4fed0cb600ce55fffacc7e982fbaf955fc44 (patch) | |
tree | f28e49ec646b60fb99d783afd1a2bc68b07bf835 /Master/texmf-dist/doc/lualatex | |
parent | 3bf8ee8a87097403ef040c9a3c4ee0f3866eb2cd (diff) |
lilyglyphs (2oct13)
git-svn-id: svn://tug.org/texlive/trunk@31814 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/lualatex')
15 files changed, 239 insertions, 83 deletions
diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/CHANGES.md b/Master/texmf-dist/doc/lualatex/lilyglyphs/CHANGES.md index 52c34a3e0e3..64d9af70cfb 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/CHANGES.md +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/CHANGES.md @@ -36,6 +36,22 @@ This document lists all changes in the development of *lilyglyphs*. All changes should be present in the manual, but only the finished versions printed bold are available as pdf downloads. (Latest changes are only found in the master branch of the git repository. They should be documentd in the lilyglyphs.tex file there too.) So the lines above the topmost bold version line represent the changes not available in the downloadable pdf documentation. +0.2.2 +----- +(2013-09-27) +Mainly resolving some issues that have become visible *due to* the intial release + +- Fix upright quotes in code examples +- Fix path bug with Python scripts in OS X +- Fix bug with library lookup in Python scripts, + revert some settings unnecessarily made for TeXLive distribution +- Add German version of example document +- Add predefined commands: + `\wholeNote`, `\wholeNoteDotted` + Accordion notation (available Emmentaler glyphs) +- Rename `\fancyExample` to `\lilyFancyExample` to avoid confusion +- lilyglyphs is now available through CTAN and TeXLive + 0.2.1 ----- (2013-09-15) diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/README-scripts b/Master/texmf-dist/doc/lualatex/lilyglyphs/README-scripts new file mode 100644 index 00000000000..a05dd12651b --- /dev/null +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/README-scripts @@ -0,0 +1,3 @@ +This folder contains utility scripts to extend +and maintain the lilyglyphs package. +For usage information refer to the manual. diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/VERSION b/Master/texmf-dist/doc/lualatex/lilyglyphs/VERSION index 4c8bd27acb6..3ef71c4866e 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/VERSION +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/VERSION @@ -1,2 +1,2 @@ -This is lilyglyphs 0.2.1 -Generated on 2013-09-16 +This is lilyglyphs 0.2.2 +Generated on 2013-09-27 diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-400.png b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-400.png Binary files differnew file mode 100644 index 00000000000..6c0228629d6 --- /dev/null +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-400.png diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-600.png b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-600.png Binary files differindex 24b033cb085..d524ca3b0f6 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-600.png +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-600.png diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-de.pdf b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-de.pdf Binary files differnew file mode 100644 index 00000000000..a50d91876fd --- /dev/null +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-de.pdf diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-de.tex b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-de.tex new file mode 100644 index 00000000000..07f63a33bf9 --- /dev/null +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-de.tex @@ -0,0 +1,91 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% This file is part of the 'lilyglyphs' LaTeX package. % +% ========== % +% % +% https://github.com/openlilylib/lilyglyphs % +% http://www.openlilylib.org/lilyglyphs % +% % +% Copyright 2012-2013 Urs Liska and others, ul@openlilylib.org % +% % +% 'lilyglyphs' is free software: you can redistribute it and/or modify % +% it under the terms of the LaTeX Project Public License, either % +% version 1.3 of this license or (at your option) any later version. % +% You may find the latest version of this license at % +% http://www.latex-project.org/lppl.txt % +% more information on % +% http://latex-project.org/lppl/ % +% and version 1.3 or later is part of all distributions of LaTeX % +% version 2005/12/01 or later. % +% % +% This work has the LPPL maintenance status 'maintained'. % +% The Current Maintainer of this work is Urs Liska (see above). % +% % +% This work consists of the files listed in the file 'manifest.txt' % +% which can be found in the 'license' directory. % +% % +% This program is distributed in the hope that it will be useful, % +% but WITHOUT ANY WARRANTY; without even the implied warranty of % +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[oneside,11pt]{article} +\usepackage{lilyglyphsStyle} +\usepackage{lilyglyphsManualFonts} + +\usepackage{polyglossia} +\setmainlanguage{german} + +\pagestyle{empty} + + +% make the glyphs lighter +\lilyOpticalSize{26} + +\begin{document} +\begin{center} +{ \Huge \lilyglyphs } + +\bigskip +{ \Large Urs Liska } + +\emph{September 2013} + +\end{center} + +\bigskip + +Sie schreiben Texte über Musik, vielleicht als Musikwissenschaftler, Lehrer oder Komponist? +Sie bereiten solche Dokumente zum Druck vor und haben schon immer die Möglichkeit vermisst, Dinge wie das Folgende zu setzen? + +\begin{quote} +„In T.\,24 gilt das \decrescHairpin{} von der 2.\,\halfNote{} bis zum \lilyDynamics{sf} auf dem 11.\,\semiquaverDown[raise=-.5].“ +\end{quote} + +Das neue Paket \lilyglyphs{}% +\footnote{\url{http://www.openlilylib.org/lilyglyphs} -- \href{mailto:info@openlilylib.org}{info@openlilylib.org}} +erlaubt es auf komfortable Weise, Notationselemente aus LilyPond% +\footnote{\url{http://www.lilypond.org}} +in Textdokumenten zu verwenden. +Vorzeichen wie \flat{} oder \sharp, aber auch Zeichen wie \hspace{.5ex}\fermata{} und Taktangaben wie \lilyTimeCHalf{} oder \lilyTimeSignature{5\,+\,7}{8} sind unmittelbar zugänglich. +Aber Sie können auch beliebige Notationskonstrukte wie \lilyFancyExample{} dieses sinnfreie Beispiel in den Fließtext einfügen oder gar eingescannte Bilddateien als „Zeichen“ verfügbar machen. +Dieses Paket kann Ihre typographischen Optionen für das Schreiben oder Setzen von kritischen Berichten, analytischen Texten oder Unterrichtsmaterial erheblich erweitern. + +Ein Aspekt, der \lilyglyphs{} von allen mir bekannten Lösungen unterscheidet, ist, dass es nicht auf einen Satz vorgefertigter Symbole beschränkt ist, sondern \emph{jegliche} Notation setzen kann, die mit LilyPond realisierbar ist. + +\footnotesize +Die andere Besonderheit ist die \halfNoteRest{} automatische Größenanpassung an die umgebende Schriftgröße, +\large was es leicht macht, die \halfNoteRest{} Zeichen im Fließtext zu verwenden. +\normalsize +Sie passen sich grundsätzlich von selbst an, können aber auch \clefF[scale=.4] manuell skaliert werden, einzeln oder pauschal \clefG[scale=1.3,raise=-2.9]. + +\medskip +Zu schön um wahr zu sein? +Zugegeben, die Sache hat einen Haken: \lilyglyphs{} ist ein \LaTeX{}% +\footnote{\url{http://www.latex-project.org}}-Paket und erfordert daher möglicherweise ein Umdenken. +Sollten die obigen Beispiele aber Ihr Interesse geweckt haben oder Ihren professionellen Bedürfnissen entgegenkommen, dann machen Sie doch einfach einmal einen Versuch -- es ist ohnehin alles Freie Software. +(Vielleicht ist auch mein Aufsatz über textbasiertes Arbeiten eine hilfreiche Lektüre% +\footnote{\url{http://lilypondblog.org/2013/07/plain-text-files-in-music/}}). + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-medium.png b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-medium.png Binary files differdeleted file mode 100644 index 14c354cc74b..00000000000 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example-medium.png +++ /dev/null diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.pdf b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.pdf Binary files differindex 9e1b4f9a263..6a36397d37b 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.pdf +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.pdf diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.png b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.png Binary files differindex 90f25851774..bf668e9a8df 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.png +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.png diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.tex b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.tex index 7e012e50fb4..87d3694cc9a 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.tex +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs-example.tex @@ -34,6 +34,8 @@ \usepackage{lilyglyphsStyle} \usepackage{lilyglyphsManualFonts} +\pagestyle{empty} + \newcommand{\superscript}[1]{{\addfontfeatures{VerticalPosition=Superior}#1}} \linespread{1.1} @@ -60,12 +62,12 @@ You are preparing such documents for publication and have always missed the abil In m.\,24 the \decrescHairpin{} lasts from the 2\superscript{nd} \halfNote{} to the \lilyDynamics{sf} on the 11\superscript{th} \semiquaverDown[raise=-.5]. \end{quote} -With the new package \lilyglyphs{} you can easily insert the notational elements of LilyPond% +With the new package \lilyglyphs{} you can easily insert the notational elements of the LilyPond% \footnote{\url{http://www.lilypond.org}} -in your text documents. +engraving software in your text documents. Accidentals like \flat{} or \sharp, but also articulation scripts (\hspace{.65ex}\fermata{}) and time signatures such as \lilyTimeCHalf{} or \lilyTimeSignature{5\,+\,7}{8} are readily available. -But you can also insert arbitrary notational constructs like this \fancyExample{} mockup example into your text or even make scanned images available as “characters”. -This package may greatly extend your typographical options when authoring critical reports or analytical essays. +But you can also insert arbitrary notational constructs like this mockup example \fancyExample{} into your text or even make scanned images available as “characters”. +This package may greatly extend your typographical options when authoring or typesetting critical reports, analytical texts or teaching/exam material. One thing that sets \lilyglyphs{} apart from other solutions I had investigated is that one isn't restricted to a set of predefined symbols but is able to print \emph{any notation} that can be realized with LilyPond. @@ -75,11 +77,11 @@ The other nice thing is that the glyphs \halfNoteRest{} scale well with the surr \normalsize By default the glyphs scale automatically but they can also be scaled \clefF[scale=.4] manually, either individually or document-wise \clefG[scale=1.5,raise=-3.1]. \medskip -This flexibility has a “price”, though: You will have to change your mind-set and start using plain text based tools, \LaTeX{}% +Sounds too good to be true? Well, there’s one catch to it: \lilyglyphs{} is a \LaTeX{}% \footnote{\url{http://www.latex-project.org}} -in particular. +package, so you may have to consider a change in mind-set. But if the above examples whet your appetite and match your professional needs you should really consider giving it a serious try -- it's all Free Software anyway. -You may find reading my essay on the advantages of plain text toolchains rewarding too% +You may find reading my essay on the advantages of plain text toolchains helpful too% \footnote{\url{http://lilypondblog.org/2013/07/plain-text-files-in-music/}}. For more information you may visit \lilyglyphs' project homepage \url{http://openlilylib.org/lilyglyphs} or contact us through \href{mailto:info@openlilylib.org}{info@openlilylib.org}. diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs.pdf b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs.pdf Binary files differindex 511e4f87169..df11e0a2faf 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs.pdf +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs.pdf diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs.tex b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs.tex index 020b5121140..9c929d320e9 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs.tex +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/lilyglyphs.tex @@ -41,7 +41,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \title{\lilyglyphs[scale=1.5]\\~\\ - \normalsize Version 0.2.1} + \normalsize Version 0.2.2} \author{Urs Liska} \maketitle @@ -54,8 +54,8 @@ notation software like characters in continuous text. As it uses \package{fontspec} to access glyphs from an OpenType font \lilyglyphs{} works with \hologo{XeLaTeX} or \hologo{LuaLaTeX} exclusively. -If you have obtained the package as part of a \TeX{} distribution the following Minimal Working Example should get you going in a minute. -If you have downloaded the package please refer to \fref{sec:installation} for a few more preliminary steps. +If you have obtained the package as part of a \TeX{} distribution the following Minimal Working Example should get you going in a minute and show if everything works correctly. +If you have downloaded the package please refer to \fref{sec:installation} for a few more preliminary installation steps. \medskip @@ -66,9 +66,11 @@ If you have downloaded the package please refer to \fref{sec:installation} for a \begin{document} \flatflat{} or \clefGInline. % Predefined commands, % Use {} to allow trailing whitespace -\lilyGlyph{timesig.neomensural64} % Access "Emmentaler" glyphs by their name - % Generic commands have one mandatory argument. -\lilyDynamics[scale=1.1,raise=-0.3]{mf} % Optional placement arguments. +\lilyGlyph[scale=1.2, raise=.5]{timesig.neomensural64} + % Access "Emmentaler" glyphs by their name + % Generic commands have one mandatory + % and one optional (placement) argument. +\twoBeamedQuavers % Commands that include images instead of font glyphs. \end{document} \end{lstlisting} @@ -79,19 +81,19 @@ For the available predefined commands consult the reference in \fref{chap:list_p Glyphs that are part of LilyPond's \emmentaler{} font but not covered by a predefined command yet can be accessed through the generic command \cmd{lilyGlyph\{GLYPHNAME\}}, the glyph names being listed in \url{http://www.lilypond.org/doc/v2.16/Documentation/notation/the-feta-font.html} or in the file \dir{the-feta-font-2-16-2.html} located in the the \dir{documentation} directory of the package. -As an example take this neomensural time signature \lilyGlyph[scale=1.2, raise=.5]{timesig.neomensural64}.\\ -Dynamics have a special command \cmd{lilyDynamics\{mf\}} which simply takes a string of Dynamics letters as its argument. - -\lilyglyphs{} elements \tiny automatically \halfNoteRest{} \normalsize or manually \huge \halfNoteRest{} \normalsize scale with the \halfNoteRest{} text size commands. +As an example take this neomensural time signature \lilyGlyph[scale=1.2, raise=.5]{timesig.neomensural64}. +Other symbols can be included as image files \twoBeamedQuavers[scale=.95], but from the author's perspective this doesn't make a difference. All commands accept an optional argument containing \texttt{key=value} pairs. Currently two keys are supported: \texttt{scale} multiplies the size of the glyph by the given factor while \texttt{raise} shifts it vertically by the given amount interpreted as \emph{ex}. -Glyphs accessed individually generally need these options, the above neomensural time signature having actually been scaled by 1.2 and raised by 0.5. +Glyphs accessed individually generally need these options, see the neomensural time signature in the example. Apart from the Emmentaler glyphs \lilyglyphs{} can include any notational construct that LilyPond can produce. Please refer to \fref{sec:generic_access_commands} to learn about the \emph{generic access commands} and to \fref{sec:generating_commands_image} for detailed instructions how to create custom commands. +\lilyglyphs{} elements \tiny automatically \halfNoteRest{} \normalsize or manually \huge \halfNoteRest{} \normalsize scale with the \halfNoteRest{} text size commands. + \tableofcontents \vfill @@ -103,11 +105,11 @@ Please refer to \fref{sec:generic_access_commands} to learn about the \emph{gene \chapter{Introduction} \label{chap:introduction} -\lilyglyphs{} came into existence when Urs Liska looked for a way to include arbitrary notational elements in the continuous text of \LaTeX{} documents. -Unfortunately all packages he could find were quite restricted in the number of available symbols and/or their flexibility in scaling with the text size. +\lilyglyphs{} came into existence when I looked for a way to include arbitrary notational elements in the continuous text of \LaTeX{} documents. +Unfortunately all packages I could find were quite restricted in the number of available symbols and/or their flexibility in scaling with the text size. Moreover no solution came near the beauty of the engraving of LilyPond% \footnote{\url{http://www.lilypond.org}}. -Therefore Urs decided to “roll his own” package and make the notation font and notational elements of LilyPond available to \LaTeX{} documents. +Therefore I decided to “roll my own” package and make the notation font and notational elements of LilyPond available to \LaTeX{} documents. LilyPond is a promising competitor in producing the most beautiful musical engraving on the market, and one of the foundations of this beauty is its \emmentaler{} font. \lilyglyphs{} accesses the Emmentaler font through the \package{fontspec} package and inserts its glyphs in the continuous text applying sophisticated control over scaling and spacing. @@ -133,18 +135,20 @@ Details about extending \lilyglyphs{} with additional commands can be found in \ As the number of possible commands seems endless we would be extremely happy about any contribution of new material. But there are also technical details with regard to \LaTeX{} programming where additional competence would be highly welcome. +You may have a look at the issue tracker% +\footnote{\url{https://github.com/openlilylib/lilyglyphs/issues}} +to get an idea where you could help. \bigskip -Originally \lilyglyphs{} was a single project but by now it is part of a rather large family of projects around engraving musical scores with LilyPond and typesetting with \LaTeX: openLilyLib% +Originally \lilyglyphs{} was a project on its own but by now it is part of a rather large family of projects around engraving musical scores with LilyPond and typesetting texts with \LaTeX: openLilyLib% \footnote{\url{http://www.openlilylib.org}}. If you have come here mainly as a \LaTeX{} document author you should also have a look at the \package{musicexamples} package% \footnote{\url{http://www.openlilylib.org/musicexamples}}. -If you are also interested in LilyPond itself you might find the tutorials section, \package{lilylib} and \package{lilypond-doc} interesting too . - -\lilyglyphs{} is developed in a Git repository on GitHub% -\footnote{\url{https://github.com/openlilylib/lilyglyphs}}. -There you can inspect the source, clone or fork the repository, and submit issue reports. +If you are also interested in LilyPond itself you might find the tutorials section, \package{lilylib} and \package{lilypond-doc} interesting too. +A few more projects are still in the planning phase, and you can always see the current state of affairs at our Github starting page% +\footnote{\url{https://github.com/openlilylib}}. +\lilyglyphs{} is developed in the \dir{lilyglyphs} directory of this project site, there you can inspect the source, clone or fork the repository, and submit issue reports. If you are interested in participating in the development of \lilyglyphs, don't hesitate to contact us directly\footnote{\url{mailto:ul@openlilylib.org}}. \section{Installation} @@ -162,12 +166,16 @@ Otherwise there are a few steps of manual installation. \lilyglyphs{} is known to need fairly recent versions of \package{fontspec} and \hologo{LuaLaTeX}. So if you haven't got \lilyglyphs{} through your \LaTeX{} distribution you may have to take care that you use a sufficiently current distribution. +\textbf{\textsf{Note:}} If you have installed the package through a distribution you can still use one of the following installation methods because both will actually \emph{hide} the distribution installation. +One advantage of this approach is that you can access this manual conveniently using \texttt{texdoc lilylgyphs}. +But if you want to use the included Python scripts you should be careful to run the correct versions of them. + \paragraph{CTAN Download} -If you've downloaded the package from CTAN you should extract the archive to a location in the \dir{tex/latex/} directory of your \textsc{texmfhome} (e.\.g. \dir{\textasciitilde/texmf} on Linux or \dir{\textasciitilde/Library/texmf} on Mac OS X). +If you've downloaded the package from CTAN you should extract the archive to a location in the \dir{tex/latex/} directory of your \textsc{texmfhome} (e.\.g. \dir{\textasciitilde/texmf/} on Linux or \dir{\textasciitilde/Library/texmf/} on Mac OS X). \paragraph{GitHub Download} If you're familiar with Git the recommended way to use \lilyglyphs{} is to create a fork of the GitHub repository (assuming you already have a Github account). -Inside the same \dir{tex/latex/} dir run \texttt{git clone git@github.com:YOURUSERNAME/lilyglyphs.git} -- please don't provide an alternative destination name because the package should actually be in a directory called \dir{lilyglyphs}. +Inside the same \dir{tex/latex/} dir run \texttt{git clone git@github.com:YOURUSERNAME/lilyglyphs.git} -- please don't provide an alternative destination name because the package should actually reside in a directory called \dir{lilyglyphs/}. Then \texttt{cd} into that directory and add the original repository with \texttt{git remote add upstream git@github.com:openlilylib/lilyglyphs.git}. From now on you will refer to your fork as \texttt{origin} and to the official repository as \texttt{upstream}. @@ -182,8 +190,9 @@ Copy the complete \dir{fonts/} folder from the package directory to \dir{TEXMFHO An even better way would be not to copy the files but rather create a symlink to it with \texttt{cd TEXMFHOME/fonts/opentype} and \texttt{ln -s /path/to/lilyglyphs/fonts emmentaler} \todo{check on Windows}. That way no manual adjustments have to be made when \lilyglyphs{} is updated and might bring new versions of the font files with it.\\ \textbf{\textsf{Note:}} the package probably won't work with \hologo{XeLaTeX} if you also have installed \emmentaler{} as a system font.\\ -\textbf{\textsf{Note:}} If you create a link instead of a copy you have to place this directly in the \dir{opentype/} directory and not in a subdirectory like \dir{opentype/lilyglyphs/} because \hologo{LuaLaTeX} won't find the font otherwise. -If you \emph{need} this extra level of structure (for example because you have a lot of fonts) a workaround is to add an empty directory beside the link. +\textbf{\textsf{Note:}} If you create a link instead of a copy you have to make sure that there is at least one regular file or subdirectory in the directory beside the link. +Otherwise \hologo{LuaLaTeX} won't find the font, which is a limitation in the \texttt{kpathsea} library. +The easiest way is to simply add an empty \dir{dummy/} subdir. \medskip If you experience any issues with this or other topics during installation please give us feedback so we can improve documentation . @@ -395,6 +404,8 @@ Unfortunately they aren't present in \emmentaler{} because LilyPond draws them b See \fref{tab:singlenotes} for the available predefined commands. \begin{reftable}{Single Notes}{singlenotes} +\wholeNote & \cmd{wholeNote}\\ +\wholeNoteDotted & \cmd{wholeNoteDotted}\\ \crotchet & \cmd{crotchet}\\ \crotchetDown & \cmd{crotchetDown}\\ \crotchetDotted & \cmd{crotchetDotted}\\ @@ -592,12 +603,28 @@ The predefined commands should of course have this already built in. \fermata & \cmd{fermata} & Fermata\\ \end{reftable} +\section{Accordion Notation} +\label{sec:accordion-notation} + +\begin{reftable}{Accordion notation}{accordion-notation} +\accordionBayanBass & \cmd{accordionBayanBass} & Bayan bass register\\ +\accordionDiscant & \cmd{accordionDiscant} & Discant register\\ +\accordionFreeBass & \cmd{accordionFreeBass} & Free bass register\\ +\accordionOldEE & \cmd{accordionOldEE} & Unknown accordion notation\\ +\accordionPull & \cmd{accordionPull} & Directon of bellows\\ +\accordionPush & \cmd{accordionPush} & Directon of bellows\\ +\accordionStdBass & \cmd{accordionStdBass} & Standard bass register\\ +\end{reftable} + +These are the symbols present in the Emmentaler font. +More symbols that are created through combination of the discant symbol with one or more accordion dot(s) have yet to be created. + \section{Fancy (Example) Commands} \label{sec:fancy-examples} This is just an example of a fancy notation generated with the assistance of our scripts (see \fref{sec:generating_commands_image}). \begin{reftable}{Fancy (Example) Commands}{fancyexamples} -\fancyExample & \cmd{fancyExample} & a fancy command using a LilyPond file\\ +\lilyFancyExample & \cmd{lilyFancyExample} & a fancy command using a LilyPond file\\ \end{reftable} @@ -620,28 +647,31 @@ The command that actually prints glyphs from the Emmentaler font is \cmd{lilyPri It isn't intended to be called directly within a document, but only from the predefined commands. It takes two arguments, the first -- optional -- being the comma-separated list of \texttt{<key=value>} pairs, the second the actual content to be printed. -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] \newcommand*{\lilyPrint}[2][]{% \interpretLilyOptions{#1}% \raisebox{{\lilyEffectiveRaise}ex}{% - {\fontspec[Scale=\lilyEffectiveScale]{emmentaler-\lilyOpticalSuffix.otf}#2}% + {\fontspec[Scale=\lilyEffectiveScale] + {emmentaler-\lilyOpticalSuffix.otf}#2}% }% } -\end{verbatim} +\end{lstlisting} At first the command \cmd{interpretLilyOptions} is called, where the options of the different levels are evaluated and calculated to their effective values. Then the content of \#2 is printed, within a \cmd{raisebox} and with the currently selected opticals version of the \emmentaler{} font. -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] \newcommand*{\interpretLilyOptions}[1]{% \setkeys{lilyCmdOptions}{scale=1,raise=0}% \setkeys{lilyCmdOptions}{#1}% \pgfmathsetmacro{\lilyEffectiveScale}{% - \lilyGlobalOptions@scale * \lilyCmdOptions@scale * \lilyDesignOptions@scale}% + \lilyGlobalOptions@scale * + \lilyCmdOptions@scale * \lilyDesignOptions@scale}% \pgfmathsetmacro{\lilyEffectiveRaise}{% - \lilyGlobalOptions@raise + \lilyCmdOptions@raise + \lilyDesignOptions@raise}% + \lilyGlobalOptions@raise + + \lilyCmdOptions@raise + \lilyDesignOptions@raise}% } -\end{verbatim} +\end{lstlisting} \cmd{interpretLilyOptions} is defined in \dir{core/keyval.inp}.\\ The \texttt{<key=value>} mechanism is achieved using the \texttt{keyval} package as the most basic solution available. {\color{red} If this can be implemented in a more elegant, extensible and/or powerful way using other packages, e.\,g.\ \package{pgfkeys}, we'd appreciate any input.} @@ -675,7 +705,7 @@ There may be some uses for numerical access, however, e.\,g.\ to iterate over a \cmd{lilyPrintImage}, defined in \dir{core/genericAccess.inp}, is the command that prints glyphs from a supplied image file. It actually is quite similar to \cmd{lilyPrint}, with only the extra consideration of scaling the image to the text font size. -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] \newcommand*{\lilyPrintImage}[2][]{% % interpret optional argument \interpretLilyOptions{#1}% @@ -687,7 +717,7 @@ It actually is quite similar to \cmd{lilyPrint}, with only the extra considerati \includegraphics[scale=\lilyImageEffectiveScale]{#2}% }% } -\end{verbatim} +\end{lstlisting} First the command calls \cmd{interpretLilyOptions}, which is the same as with \cmd{lilyPrint}. But as an additional step \cmd{lilyScaleImage} is called, and finally it uses \cmd{lilyImageEffectiveScale} as the scaling factor instead of \cmd{lilyEffectiveScale}. I won't explain this in detail, but in effect it multiplies the \cmd{lilyEffectiveScale} calculated before with the ratio of the current font size to the \cmd{normalsize} size. @@ -780,13 +810,13 @@ So if you find yourself creating predefined commands that you think are useful f \label{subsubsec:commands_single-glyphs} Let's review an example of a predefined command, the \cmd{doublesharp}. -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] % "accidentals.doublesharp" \newcommand*{\doublesharp}[1][]{% \setkeys{lilyDesignOptions}{scale=1.5,raise=0.35}% \lilyPrint[#1]{\lilyGetGlyph{accidentals.doublesharp}}% } -\end{verbatim} +\end{lstlisting} We use the starred version of \cmd{newcommand}, because a glyph command naturally doesn't span paragraphs. We declare to accept one optional argument, which defaults to empty. @@ -809,25 +839,25 @@ If you know the Unicode number of the desired glyph you can call \cmd{lilyGetGly \medskip Creating commands using image files is practically the same and even simpler. If you look at the definition of a \cmd{crotchet}, -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] \newcommand*{\crotchet}[1][]{% \setkeys{lilyDesignOptions}{scale=0.9,raise=-0.2}% \lilyPrintImage[#1]{crotchet}% } -\end{verbatim} +\end{lstlisting} you will notice that the only differences are that the actual printing is done with \cmd{lilyPrintImage} instead of \cmd{lilyPrint} and that therefore the basename of the image file can be passed directly. In \fref{sec:generating_commands_image} you will see a tool that allows to create numerous image commands quite easily. \bigskip As a last example we will look at the definition of \cmd{lilyRFZ} \lilyRFZ. -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] \newcommand{\lilyRFZ}[1][]{% \mbox{% \lilyDynamics[#1]{r\hspace{0.035ex}fz}% }% } -\end{verbatim} +\end{lstlisting} You may notice that we use \cmd{lilyDynamics} here, one of the Generic Access Commands (see \fref{sec:generic_access_commands}) instead of the low-level printing command. We can do this and also use the other ones: \cmd{lilyText}, \cmd{lilyGlyph}, \cmd{lilyGlyphByNumber} or \cmd{lilyImage}. This is actually simpler because we don't have to set the design time options -- but that's also the main disadvantage: this way we \emph{can't} set them and have to use the given default parameters. @@ -862,7 +892,7 @@ There is some infrastructure in \lilyglyphs{} (defined in the file dotted.inp) t Great care has been taken to hide as much complexity as possible in the mentioned file, in order to make the definition of actual commands as clean and concise as possible. Let's analyze the implementation of a dotted half note rest: -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] % Dotted half note rest \newcommand*{\halfNoteRestDotted}[1][]{% % define the optional arguments for the dot @@ -872,7 +902,7 @@ Let's analyze the implementation of a dotted half note rest: % Print the rest and then the dot \halfNoteRest[#1]\lilyDotSpace\lilyPrintDot } -\end{verbatim} +\end{lstlisting} The command takes the usual optional argument that can contain \texttt{<key=value>} pairs. This applies to the dotted symbol as a whole. @@ -880,17 +910,17 @@ Please note that in the last line the predefined command \cmd{halfNoteRest[\#1]} You can only use this technique of creating dotted symbols on top of correctly implemented predefined commands. The first thing you have to do is to define the DesignTimeOptions for the dot. They are relative to the original design of \cmd{lilyDot}, and you have to adjust them so the dot suits the main glyph in its size and vertical position (you can ignore the horizontal spacing for now): -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] % define the optional arguments for the dot \setkeys{lilyDesignOptions}{scale=0.8,raise=0.2}% -\end{verbatim} +\end{lstlisting} You should always set these options because otherwise you might get strange results or error messages. The next step is to call a quite complex command \cmd{lilySetDotOptions} that sets several options for the dot: -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] % Calculate effective scale/raise and the hspace for the dot \lilySetDotOptions[#1]{0}{0.5}{0.4}% -\end{verbatim} +\end{lstlisting} This command takes one optional and three mandatory arguments. The optional argument is just the one that is written in the \LaTeX{} document and that is passed into the function. The remaining three arguments control the horizontal spacing between the main glyph and the dot. As we now have two individual elements we have to control the gap between them explicitely as it doesn't scale relative to the \texttt{scale} argument by itself. @@ -916,10 +946,10 @@ The final line actually calls three commands:\\ \cmd{halfNoteRest[\#1]} prints the already defined main glyph. \cmd{lilyDotSpace} prints a horizontal space that is determined by the previous call to \cmd{lilySetDotOptions}, and \cmd{lilyPrintDot} finally prints the dot with the settings just defined. -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] % Print the rest and then the dot \halfNoteRest*[#1]\lilyDotSpace\lilyPrintDot -\end{verbatim} +\end{lstlisting} This was an explanation from the perspective of designing new predefined commands. If you want to know how this is implemented internally, please look at the generously commented file \texttt{core/dotted.inp}. @@ -968,6 +998,12 @@ They perform the check based on the “lilygpyhs” part of the directory name, \medskip All Python scripts handle \texttt{-h/--help} and \texttt{-v/--version} arguments, printing a short usage help or the current \lilyglyphs{} version. +\paragraph{Licensing Note} +All files generated by the Python scripts contain the \lilyglyphs{} license preamble stating them to be licensed with the GPL. +But this is only relevant if you contribute them back to the package itself. +Initially these generated files are the result of \emph{your} work and you can do with them whatever you want. +So if you use the Python scripts to create commands for your own needs you can simply remove the license preamble from them. + \section{Generating Commands for \emmentaler{} Glyphs} \label{sec:generating_commands_emmentaler} @@ -982,6 +1018,10 @@ The steps involved are few: We'll go through these steps in the following subsections. Be assured that although these instructions span several pages the actual process of creating new commands is very fast once you have got used to it. +In addition to the following documentation you can also refer to a more casual post on the \emph{Scores of Beauty} blog% +\footnote{\url{http://lilypondblog.org/2013/09/extending-lilyglyphs-part-1/}} +which shows an example of creating a complete group of glyphs. + \subsection{Preparing the Input File} \label{subsec:GGC_preparing_input_file} @@ -1037,8 +1077,7 @@ The following items are possible/necessary: \end{itemize} \noindent Here you can see two examples of command entries: -\begin{quote} -\begin{verbatim} +\begin{lstlisting} cmd=fermataDown element=scripts.dfermata comment=downward fermata @@ -1048,8 +1087,7 @@ cmd=rinforzando type=dynamics element=rfz comment=Rinforzando (kerned) -\end{verbatim} -\end{quote} +\end{lstlisting} In the following subsection you can see what these commands are processed to. @@ -1067,8 +1105,7 @@ It contains \LaTeX{} \cmd{newcommand} definitions for each command definition in The visible part of the document contains a reference table (as used throughout this manual) with all generated commands and additionally example text for each generated command. The examples above would be processed to the following two \LaTeX{} commands: -\begin{quote} -\begin{verbatim} +\begin{lstlisting}[language={[LaTeX]TeX}] % downward fermata \newcommand*{\fermataDown}[1][0]{% \setkeys{lilyDesignOptions}{scale=1,raise=0}% @@ -1080,8 +1117,7 @@ The examples above would be processed to the following two \LaTeX{} commands: \setkeys{lilyDesignOptions}{scale=1,raise=0}% \lilyDynamics{rfz}}% } -\end{verbatim} -\end{quote} +\end{lstlisting} \subsection{Fine-tuning the \LaTeX{} Commands} \label{subsec:GGC_fine-tuning} @@ -1132,6 +1168,7 @@ If you add to an existing subsection you may copy the rows from the table in the If you have any questions on these procedures it is certainly a good idea to get in contact with us \emph{before} starting any substantial work. + \section{Generating Commands with Glyph Images} \label{sec:generating_commands_image} Creating commands with images generated by LilyPond is a significantly more complex task than simply inserting Emmentaler glyphs, and therefore the Python script \texttt{lily-image-commands.py} is a more complex one. @@ -1191,13 +1228,13 @@ One important thing to know is that by default the generated image will \emph{no This is a minimal working example of a \lilyglyphs{} entry section: -\begin{verbatim} +\begin{lstlisting} %%lilyglyphs % crotchet with upward stem crotchet = { g'4 } -\end{verbatim} +\end{lstlisting} \paragraph*{Warnings:} So far the parser isn't very smart. @@ -1222,8 +1259,7 @@ This will print your command definition as the only element in a new score block You can repeat this several times, inserting top-level \cmd{markup}s and have LilyPond produce a sheet with all defined symbols. This way you can finish your design in “pure LilyPond” before actually going on to the \LaTeX{} part -- and at the same time prepare a reference sheet of your work. -\begin{quote} -\begin{verbatim} +\begin{lstlisting} \version "2.16.2" %%lilyglyphs @@ -1246,8 +1282,7 @@ symbol = \crotchetDown \include "score.ily" % and so on ... -\end{verbatim} -\end{quote} +\end{lstlisting} \subsection{Running the Script} \label{subsec:BGI_running} diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/resources/lilyglyphsManualFonts.sty b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/resources/lilyglyphsManualFonts.sty index 32883b7e3a5..f91ca70a0d8 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/resources/lilyglyphsManualFonts.sty +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/documentation/resources/lilyglyphsManualFonts.sty @@ -39,10 +39,13 @@ \RequirePackage{lilyglyphs} % fontspec base settings -\defaultfontfeatures{Ligatures=TeX} \setmainfont[% + Ligatures=TeX, Numbers=OldStyle]{Linux Libertine O} -\setsansfont[Scale=MatchLowercase,ItalicFont=LinBiolinumOI,BoldFont=LinBiolinumOB]{LinBiolinumO} +\setsansfont[Scale=MatchLowercase, + ItalicFont=LinBiolinumOI, + BoldFont=LinBiolinumOB, + Ligatures=TeX]{LinBiolinumO} \setmonofont[Scale=MatchLowercase]{DejaVu Sans Mono} \linespread{1.05} diff --git a/Master/texmf-dist/doc/lualatex/lilyglyphs/license/MANIFEST b/Master/texmf-dist/doc/lualatex/lilyglyphs/license/MANIFEST index 5e98e8eb720..94c97128f50 100644 --- a/Master/texmf-dist/doc/lualatex/lilyglyphs/license/MANIFEST +++ b/Master/texmf-dist/doc/lualatex/lilyglyphs/license/MANIFEST @@ -1,16 +1,15 @@ -MANIFEST for lilyglpyhs 0.2.1 -Generated on 2013-09-16 +MANIFEST for lilyglpyhs 0.2.2 +Generated on 2013-09-27 The following files are part of this work: /CHANGES.md /INSTALL /README -/bin/lily-glyph-commands.py -/bin/lily-image-commands.py -/bin/lily-rebuild-pdfs.py +/deploy/documentation/lilyglyphs-example-400.png /deploy/documentation/lilyglyphs-example-600.png -/deploy/documentation/lilyglyphs-example-medium.png +/deploy/documentation/lilyglyphs-example-de.pdf +/deploy/documentation/lilyglyphs-example-de.tex /deploy/documentation/lilyglyphs-example.pdf /deploy/documentation/lilyglyphs-example.png /deploy/documentation/lilyglyphs-example.tex @@ -59,11 +58,17 @@ The following files are part of this work: /fonts/emmentaler-23.otf /fonts/emmentaler-26.otf /fonts/emmentaler-brace.otf -/lib/lilyglyphs_common.py /license/COPYING.LPPL /license/license-preamble.inp +/scripts/README-scripts +/scripts/deploy.py +/scripts/lily-glyph-commands.py +/scripts/lily-image-commands.py +/scripts/lily-rebuild-pdfs.py +/scripts/lilyglyphs_common.py +/scripts/lilyglyphs_common.pyc /source/fonts -/source/fonts/README +/source/fonts/README-emmentaler /source/fonts/emmentaler-2-16-2.zip /source/glyphimages/definitions/_template.ly /source/glyphimages/definitions/beamednotes.ly @@ -100,8 +105,9 @@ The following files are part of this work: /source/glyphimages/generated_src/lily-semiquaverDottedDown.ly /source/glyphimages/generated_src/lily-semiquaverDown.ly /source/glyphimages/generated_src/lily-twoBeamedQuavers.ly -/tex/commands/README +/tex/commands/README-commands /tex/commands/accidentals.inp +/tex/commands/accordion.inp /tex/commands/beamednotes.inp /tex/commands/clefs.inp /tex/commands/dynamics.inp @@ -112,7 +118,7 @@ The following files are part of this work: /tex/commands/scripts.inp /tex/commands/singlenotes.inp /tex/commands/timesignatures.inp -/tex/core/README +/tex/core/README-core /tex/core/dotted.inp /tex/core/genericAccess.inp /tex/core/keyval.inp |