1. Change `add-acmart-styles` to add an element WITHOUT the `pretitle` style
for the collects phase. With this, an empty `#lang scribble/acmart` document
builds an empty PDF.
2. Add documentation for a "minimal" `scribble/acmart` document.
In places where module names are typeset, such as `racketmodname`,
there's no way to disable the special treatment of `_` as an
identifier prefix as in `racket`. Even using
`make-element-id-transformer` doesn't work, because the module-name
datum is explcitly disconnected from binding withing `racketmodname`.
* Prevent hyphens from appearing in @racket[...] identifiers when they overflow.
* Add SHyphen command.
A style file can redefine SHyphen to toggle how they want to
hyphen their text
* Add documentation
* Add a pretitle style property for nested flows.
This allows us to raise nested flows above the title. So that we do
things like raise the abstract above the title:
```
\begin{abstract}
Abstract text
\end{abstract}
\titleCommand{...}
```
This style is required by the acmart style guide.
* Paragraphs and nested flows extracted in the same order
* Fix `scribble/acmart`'s abstract form so that it gets lifted above `maketitle`, where it should be.
While done as a tex hack, macros in latex can have multiple optional
arguments. As such, we should support it with command-optional.
Meaning that the type of command-optional-arguments is now (Listof String)
The existing scribble/acmart language in this repo felt more like latex than Scribble. This package brings scribble/acmart more inline with the existing `scribble/acmart` package that was already on the package server. In particular, this commit:
* Remove maketitle from scribble/acmart
* Extends the title form to also have the fields in `scribble/base`'s title.
* Support author information. (Like scribble/sigplans authorinfo)
* Removed unneeded functions now redundant due to the author function. Namely, affiliation based ones.
* Factor out common functions to scribble/acmart and scribble/base into private module.
These functions might make sense to be public, but since they were already private in base
I thought it made sense to leave them that way. Additionally, it might make sense to have the
file be something other than private/tag, as private/tag currently requires tag, which is
different than the normal way where its tag that requires private/tag.
* Add short-title to scribble/latex-properties
* Adds an `command-optional` property which is like `command-extras`, but is a single
optional argument placed before the mandatory ones.
* Create email, affiliation, and institution structs so that authors can have multiple of each.
* Add/improve documentation and history (and bump version number).
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.
This commit adds:
+ a few tags to `scribble/html` (by extending the list in `scribble/html/html`)
+ even more tags to `scribble/html/extra`,
these tags are "likely" to cause namespace issues (time, map)
or are uncommon / esoteric (rb, ruby, svg)
+ a test in `scribble/html.rkt` that the tags from
- `scribble/html/html`
- and `scribble/html/extra`
match a master list from the whatwg specification*
* https://html.spec.whatwg.org/multipage/#toc-semantics
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.
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.