Commit Graph

92 Commits

Author SHA1 Message Date
Leif Andersen
558a8a5c64 Improve the scribble/acmart language
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).
2017-03-21 01:06:02 -04:00
Ben Greenman
82860694a2 add font size options to scribble/acmart
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.
2017-03-17 09:39:20 -04:00
Leif Andersen
c88c62cb56 Fix captions and footnotes in scribble/acmart 2017-03-17 08:34:30 -04:00
Ben Greenman
d92b1829d5 defstruct: no newline between name & fields if no fields
If a struct has no fields, don't check if a struct's name + first field's name
are too long to print on one line

Bug report: https://groups.google.com/forum/#!topic/racket-users/6fKGky4tud8
2017-03-15 13:05:56 -04:00
David Van Horn
049bf4b07a Scribble support for new acmart.cls. (#85)
Scribble support for new acmart.cls.
2017-03-10 16:24:27 -07:00
Matthew Flatt
68c4557968 catch up docs on --xelatex
Also, adjust help text for `--doc-binding` to make it
fit in 80 columns, and clean up related documentation text.
2017-03-03 07:47:45 -07:00
Wei Tang
5e49131e44 Use XeLatex instead of XeLatex 2017-03-03 07:26:25 -07:00
Wei Tang
640488bab1 Handle Chinese Hanzi, Hiragana and Katakana in tag 2017-03-03 07:16:20 -07:00
Wei Tang
b07234e8ee Handle nested collect-element inside a traverse-element 2017-03-03 07:06:26 -07:00
Matthew Butterick
37019a1eb6 Add meta to Scribble template for mobile
Forces the narrow (one-column) layout on mobile devices.
2016-12-28 10:41:09 -08:00
Jay McCarthy
d1178fe6f4 Add doc-binding option 2016-11-29 16:03:36 -05:00
Leandro Facchinetti
30671f0636 Fix margin notes overlap
Fixes #66.
2016-11-15 15:35:10 -05:00
Matthew Flatt
28008d8442 handle 'nbsp in content->string 2016-11-15 07:26:58 -07:00
Matthew Butterick
96ff823ed8 updated Source Code Pro fonts 2016-11-05 19:16:26 -05:00
Matthew Butterick
11eea36e32 fix text wrapping of margin notes within code samples (#63)
Code samples use `pre`, which will cascade into the margin note unless stopped.
2016-11-03 13:26:46 -04:00
Stephen Chang
73907e1d3f actually use unsyntax-id in racketmod0 2016-10-12 13:15:16 -04:00
Georges Dupéron
466515d59a Fixes bug #44 (Re-provided identifiers are not tracked across submodules) 2016-10-06 13:16:01 -05:00
Matthew Flatt
30ae71202d fix references lifted to table of contents
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.
2016-10-01 10:51:18 -06:00
Vincent St-Amour
a69f6c6982 Add missing character to the table.
Used by the DrRacket docs, and was broken when making the table extensible.
2016-08-25 09:53:19 -05:00
Vincent St-Amour
cce1eff495 Extend special characters using a function rather than a dict.
Based on feedback from David Van Horn.
2016-08-24 16:14:03 -05:00
Vincent St-Amour
525b72ca4c Make the list of special characters user-extensible . 2016-08-24 16:14:03 -05:00
Matthew Flatt
3e1c63c93a improve rendering of titles with empty numbers 2016-08-13 12:45:50 -06:00
Matthew Flatt
495630e001 avoid bad substring when something goes weird with section numbers 2016-08-13 07:31:58 -06:00
Matthew Flatt
5b37a3ac72 examples: avoid generating an empty nested table for empty output
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.
2016-08-05 09:25:37 -06:00
Matthew Flatt
aca15dcc85 Fix use of namespace-require that can create conflicts
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.
2016-08-01 13:23:24 -06:00
Ben Greenman
5505a5557a Add language-index-desc and reader-index-desc
Subtypes of module-index-desc.
Used to tell if a module implements a #lang or a #reader module.
2016-07-08 17:56:35 -04:00
Jay McCarthy
06e254f169 Adding elsarticle 2016-06-16 16:37:07 -04:00
Robby Findler
0ca977aecd fix scribble/jfp 2016-05-28 02:32:40 -05:00
Robby Findler
5edbe0fc85 fix error message 2016-05-27 14:00:59 -05:00
Robby Findler
79e74d3b59 add (hopefully correct) missing case to the contract/bluebox renderer
closes #34
2016-03-17 09:08:43 -05:00
Robby Findler
468744bdf5 add latex equivalent for recently added mrlib/tex-table shortcuts
also correct ε to \varepsilon instead of \epsilon
2016-03-11 19:28:46 -06:00
Matthew Flatt
4d62fba7f2 fix scribble --redirect-main with indirect links 2016-02-25 08:53:42 -07:00
Matthew Flatt
17acde5a1f fix default external-URL redirection
Use an installation's current configuration and get a corrected
default by using `setup/dirs`.
2016-02-25 08:49:22 -07:00
ben
58b662ab77 typo: 'unrecognzied' -> 'unrecognized' 2016-02-20 18:18:02 -05:00
sorawee
249265102e Add /Library/TeX/texbin as another candidate-dir
MacTeX, TeX for Mac, will install the binaries at `/Library/TeX`. Hence, we should add this path to the candidate-dirs.
2016-02-15 22:52:23 -05:00
Matthew Flatt
798155c4f9 add make-numberer to generalize section numbering 2016-01-09 20:21:18 -07:00
Spencer Florence
2881ef290d Allow for manipulating scribble.tex imports 2016-01-09 11:48:21 -06:00
Matthew Flatt
0f0d662b14 scribble/lp2: strip code:comment, etc. 2015-12-30 07:22:15 -06:00
Matthew Flatt
bbbd68b3c2 declare-exporting: allow escaped module-path expressions 2015-12-30 06:54:51 -06:00
Matthew Flatt
f09604f097 scribble/lp2: declare doc submodule with module*
Using `module*` allows the documentation submodule to refer to the
implementation module.
2015-12-30 06:24:17 -06:00
Matthew Flatt
668e3799bd HTML output: refine handling of a table in a bullet
Avoid a blank bullet line when an item start with a "boxed"
table for `defform` and similar.
2015-12-21 15:35:34 -07:00
Matthew Flatt
d2bf2e49c5 move scribble/examples to scribble/example
Use singular to follow the naming convention of the style guide.
2015-12-18 06:28:27 -07:00
Matthew Flatt
90455e2d6a add tests for examples 2015-12-13 09:09:33 -07:00
Matthew Flatt
ad9a465ab1 Latex: 'inset style renders through a SInsetFlow environment 2015-12-13 07:40:26 -07:00
Matthew Flatt
50f835c4f1 add scribble/examples
The `scribble/examples` library provides a cleaner and more modern
interface for evaluation compared to `scribble/eval`.
2015-12-11 11:54:07 -07:00
Matthew Flatt
f1f47c5f16 scribble/examples: revert logging change, add options
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.
2015-12-11 10:03:31 -07:00
Matthew Flatt
0bd9a0d070 examples: add "Examples:" label as compound para
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.
2015-12-10 09:24:34 -07:00
Matthew Flatt
81aeab1687 scribble/eval: add eval:error and logging of other exceptions
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).
2015-12-10 08:33:00 -07:00
Matthew Flatt
f637b94a61 evaluate expression only once for eval:check 2015-12-10 08:06:41 -07:00
Matthew Flatt
904f83ecf3 rely on syntax objects preserving source locations
Rely on the representation of source locations in syntax objects, so
that its marshaling can take care of problems with absolute paths.
2015-12-09 17:24:20 -07:00