Comments (5)
At least some of this should already be possible using the \betweenLilyPondSystem
mechanism described on the lilypond-book pages.
from lyluatex.
Indeed. Only now I realize that the system number actually is passed into that function (if it is defined), and one could make that function check against a list somewhere else. The main problem I see is that this is only triggered after each system. So when we ask for anythin not including the first system we can't undo that (AFAICS). In any case it should be easier to completely handle this in teh Lua part.
from lyluatex.
Well, lilypond-book has \preLilyPondExample
(and \postLilyPondExample
) which one could use to do this like this:
\def\preLilyPondExamples{
\let\oldincludegraphics\includegraphics
\renewcommand{\includegraphics}[2][]{\relax}
}
\def\betweenLilyPondSystem#1{
\ifnum#1<2\else\let\includegraphics\oldincludegraphics\fi
}
\def\postLilyPondExamples{
\let\preLilyPondExamples\relax
\let\betweenLilyPondSystem\undefined
\let\postLilyPondExamples\relax
}
If included just before a particular snippet, this ought to suppress printing of the first system (not tested) and reset things back to normal afterwards.
As best I can tell, the package doesn't currently support those two commands. Would implementing them be sufficient to what you want, or would you want something that would be more user friendly.
from lyluatex.
Maybe that could be wrapped to make it simpler to use, I think.
However, I have the feeling that I would prefer handling it in Lua. But that may solely be based on the fact that I'm still feeling somewhat alien to TeX programming, while Lua (although completely new) is quite familiar based on my knowledge of other languages like Python or JavaScript.
What may be a point for the Lua argument is that it may be easier to make flexible on the long run, and we are dealing with the -systems.tex
page anyway.
But I'm far from having a strong opinion here.
from lyluatex.
It will be much easier to to now after the refactor
will be merged. Basically it can be done by updating latex.includepdf()
and latex.includesystems()
.
I will add an option print-only
that will take effect depending on the value of insert
. In systems
it affects the systems to be included, in fullpage
it filters pages (in inline
it won't have an effect).
It will accept:
- a single number
- a range:
M-N
- a list:
M, N,O
from lyluatex.
Related Issues (20)
- Adjust text font size in lilypond HOT 3
- Missing final system on recompile HOT 6
- Trying (i.e. Failing) to Use Lilypond HOT 5
- Undefined control sequence HOT 2
- Lyluatex fails to compile documents in GitHub Actions HOT 12
- \setmainfont causes problems HOT 6
- The score doesn't contain any music HOT 5
- MiKTeX with LilyPond 2.24: blank scores
- attempt to index a nil value ( field 'metadata') HOT 5
- lyluatex runs slowly on mac HOT 8
- Includepaths no longer working HOT 3
- Reuse precompiled files in different document HOT 3
- Some weird alignment issues when using a custom header HOT 3
- TexLive can't find Lilypond anymore HOT 5
- Make lyluatex work with LilyPond 2.25.4 and newer HOT 2
- Make lyluatex process LilyPond snippets in parallel HOT 6
- Error in lilypond-Log: "/bin/sh: 1: Syntax error: Unterminated quoted string" HOT 4
- Print copyright and tagline below song
- Suppress bar numbers HOT 2
- Large left padding with inline inserts HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lyluatex.