These commands work like natbib's citeauthor and citeyear commands,
and facilities making possessive citations. For example:
> Thanks to @(cite-author foo)'s (@(cite-year foo)) paper on stuff...
These identifiers are added with `define-cite` as keywords, and thus
can be omitted with no downside for backwards compatibility.
@(define-cite cite citet generate-bib
#:cite-author cite-author
#:cite-year cite-year)
Also in this commit:
* Add documentation.
* Add tests for autobib
* Bump version and add history.
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`.
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).
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).