Closed meithecatte closed 3 years ago
I see what you're talking about on the SILE website, yes.
For me the whole manual doesn't even build, I get an error, even if I install .fonts
into $HOME/.fonts/SILE
:
libtexpdf:fatal: texpdf_dev_locate_font() called with the zero ptsize.
That being said, I hacked the file c01-whatis.sil
to build on its own if macros.sil
was available, and I don't get the error:
Most likely this got fixed in SILE recently?
@NieDzejkob Thanks for this report. Unfortunately this isn't an image margin issue, it is the drop-cap / floating frame mechanism and it is absolutely cantankerous. I really wish we had this fixed, but so far I haven't come up with a magic incantation that works robustly. It can be fiddled with given the exact details of any given page, but nothing works reliably without hand tweaking for each case. (@ctrlcctrlv this is probably why yours looks okay, it is highly sensitive to the exact font metrics and content at any given moment). This is a duplicate of #860 (re the manual) but the underlying issue is actually #394. At this point I have a dozen branches with attempts to fix this (with names like pushing-my-limits
, drop-in-sanity
, die-die-drop-caps
, float-sam-and-jet-sam
, etc.). I've used at least 6 different iterations for different book projects and none of them are generally good enough to replace what's here.
@ctrlcctrlv Are you trying to build the manual with make docs
or by calling ./sile
directly yourself? Which version are you trying to build?
@alerque I didn't realize that I couldn't just run sile documentation/sile.sil
. I get much farther if I call make docs
. However, I still fail to build the manual.
[48] <packages/gutenberg><packages/indexer><packages/math>[49] [50]
Error detected:
./packages/math/base-elements.lua:803: field 'get_glyph_dimensions' is not callable (a nil value)
make: *** [Makefile:1491: documentation/sile.pdf] Error 1
make: *** Deleting file 'documentation/sile.pdf'
[fred@🍇葡萄🍇SILE]$ git pull
Already up to date.
Oh, that build failure is probably due to mismatched /usr/bin/sile
and master SILE manual. I wouldn't worry about it.
Using make docs
is kind of the required way to build the manual. It sets up (downloading if necessary) the necessary fonts, silos the build with just those font versions available, uses the local working directory version of SILE not the system version, identifies the version and available packages properly, and has a few other tricks to get everything matching so the manual is consistent the state of the repository.
All that still doesn't explain why you can't build the manual. The manual being in working order is something we require of even merge to master via CI. See e.g. the current HEAD build, the manual is successfully building in there. I can also do it locally both with system Luarocks or vendored.
Can you try a make clean ; make docs
? I wonder if you have a working tree with a half-compiled version of SILE, i.e. the C modules in particular sound like they were compiled before the math branch merge and you are now building math things use new features but they are not there in the C APIs for the modules you have. If you are using make docs
this should ignore anything installed on your system and just use local working directory SILE resources.
In section 1.3 "SILE versus InDesign", the figure is outright touching the baseline of the text above it, and obscuring descenders of letters like
g
. This is hideously ugly. It feels petty to say outloud, but when I saw this, my interest in learning about SILE quickly wavered...