Just like the 10pt option in `scribble/sigplan`,
putting @9pt @10pt @11pt or @12pt on the #lang line of a `scribble/acmart`
document passes to corresponding string to `\documentclass[....]`
And just like TeX, it's ok to give multiple font sizes. All but the last
are ignored.
Certain lifted reference forms carried the prefix of the original
section, but in general the section needs to be similarly carried for
rendering elements that may contain references.
Also, fix the contract on `elemref` and `elemtag` to use
`taglet?` instead of `tag?`.
Thanks to Dupéron Georges.
For something like
#lang scribble/manual
@(require scribble/eval)
@interaction[(define x 2)
x]
the `interaction` form generated an empty nested table for the zero
results from `define`. When rendering via Latex, that empty table
could create vertical whitespace. Produce zero lines in the enclosing
table, instead.
The current expader's `namespace-require` has a bug that prevents
it from reporting a conclict when `(for-label <lib>)` creates
a conflict due to different provided bindings of the same name
at different phases from <lib>. Avoid depending on that bug.
The error-logging change in 81aeab1687 didn't work well for me
in further experiments. Change `interactions`, etc., to have a
`#:no-errors?` argument, instead. Also, add `eval:no-prompt`,
which provides an alternative to `def+int`.
Improve the documentaiton by correcting mistakes and filling
in some missing exports.
Instead of creating a table to combine "Examples:" with the exmaple
content, use a compound paragraph (which didn't exist when `examples`
was first implemented). A compound paragraph provides better and more
consistent typesetting; for example, it doesn't make the word
"Examples:" use a fixed-width font in HTML output.
When an expression in `examples` or `interactions` raises an
exception, the error message is rendered as part of the documentation.
Now, however, unless the expression is wrapped with `eval:error`, an
error is also logged.
Logging an error is a compromise between backward compatibility (for
documents that rely on undeclared but expected errors) and making a
document fail completely (which would be nicer when an error is not
expected).