Commit Graph

1047 Commits

Author SHA1 Message Date
Matthew Flatt
fc112ccd46 scribble: render "incremement" and some other chars for Latex/PDF
This change was prompted by the change to DrRacket's "\Delta"
to produce the Unicode "increment" character.
2012-12-10 10:20:32 -07:00
Greg Hendershott
6aa6dc0400 Add a Markdown rendering mode to Scribble.
Uses "Github flavored markdown". Specifically, code blocks are opened
using ```scheme so that Github will lex and format them as Scheme code
rather than generic monospace.

Note: I would have used ```racket, but we are still waiting for the
pygments.rb project to pull again from pygments-main -- to which I
contributed a Racket lexer back in August. After pygments.rb pulls,
can update this to use ```racket instead.
2012-12-09 15:17:36 -07:00
David Van Horn
0dfcf634ed Change latex render units from px (pdflatex specific) to bp (tex).
The px unit is a pdflatex specific adjustable unit that is 1 bp (big
point = 1/72in) by default.  This commit changes the latex renderer to
use bp which is a standard TeX unit equivalent to the default px
value.  This change allows .tex files generated by scribble to work
with other latex engines such as xelatex.

http://nwalsh.com/tex/texhelp/Plain.html#dimensions
http://tex.stackexchange.com/questions/41370/what-are-the-possible-dimensions-sizes-units-latex-understands

Here is a small test of using scribble and xelatex:

$ cat try.scrbl
@(require scriblib/figure redex/reduction-semantics redex/pict)
@(define-language L)
@(render-term L (term 1))

$ scribble --latex try.scrbl ; xelatex try
2012-12-07 06:53:45 -06:00
Matthew Flatt
bd16f1e302 scribble HTML: no extra breaking at the end of an identifier 2012-11-29 07:18:30 -07:00
Sam Tobin-Hochstadt
d6b0dfcd04 Switch to use almost-standard DOCTYPE for Scribble.
Also switches scribble search trampoline to standard DOCTYPE.

Scribble's HTML output currently relies on the quirks-mode
box model for layout of the many tables used in rendering.
However, Scribble doesn't need the rest of the changes in
browser quirks modes, so we choose a DOCTYPE that just
changes the box model.

It's non-obvious how to replicated this formatting with CSS
in standard-mode rendering.  Probably a better long term
solution is to move away from table-based layout.

See further discussion on GitHub pull request 158 here:
  https://github.com/plt/racket/pull/158
2012-11-29 07:06:52 -07:00
Robby Findler
e7c6222142 improve the 'method' syntax error so it gives a hint which argument is which 2012-11-28 13:12:28 -06:00
Asumu Takikawa
3e81924f84 Fix nav separator for Opera
Commit 8653bc6792 caused
the doc navigation to render oddly on Opera due to how
it handles  . This commit retains the spacing
for text browsers, but fixes the navigation on Opera.
2012-11-27 18:03:40 -05:00
Matthew Flatt
36bfae9497 adjust some comments to further clarify 2012-11-27 08:07:27 -07:00
Samuel Bronson
3ee6248daa scribble/html-render: clarify mangling of entities: — ⟨ ⟩ 2012-11-27 08:04:42 -07:00
Samuel Bronson
5a216cc4ce scribble: Rename attribute pltdoc -> data-pltdoc, which is valid in HTML5.
(pltdoc isn't valid in any version of HTML.)
2012-11-27 07:55:43 -07:00
Samuel Bronson
a66fa77e2e Typo fix in content-type: text-html -> text/html 2012-11-27 07:55:36 -07:00
Samuel Bronson
e157041497 scribble/html-render: comment nits 2012-11-27 07:55:23 -07:00
Samuel Bronson
8653bc6792 scribble/html-render: Add missing sep-element for non-CSS browsers 2012-11-27 07:55:16 -07:00
Samuel Bronson
11df3f9b20 scribble/html-render: Fix typo in error message 2012-11-27 07:55:08 -07:00
Samuel Bronson
45bdaa131d scribble/racket.css: Avoid excessive line-height in some cases
(In particular, when the default line-height for "monospace" is smaller than for the main font.)
2012-11-27 07:54:05 -07:00
Matthew Flatt
24f358a5d7 scribble latex: work around `\href{...#...}{...}' as a macro argument
The `math' document build was failing because `\marginpar' does not
like `\href{...#...}{...}' as an argument.
2012-11-25 06:24:51 -07:00
Matthew Flatt
9888fac99e raco setup: move doc dependency and duplicate checking to database
This change makes document building --- and specially incremental
document building --- more scalable. The global duplicate-definition
check is handled by a database query, for example.
2012-11-23 20:07:49 -07:00
Matthew Flatt
a73dc50224 break cross-reference info for document into pieces
For example, the cross-reference information for the
Reference is now broken into about 16 pieces, so that
resolving a cross-reference into the Reference doesn't
require loading all cross-reference information for
the Reference.

Every document is split into two pieces, so that the title
of a document is roughly in its own piece. That way,
re-building the page of all installed documentation can be more
scalable (after some further changes).
2012-11-23 18:44:51 -07:00
Matthew Flatt
693ff33bfc serialize bluebox tables
Typically, the bluebox table includes keys that have interned parts,
so serialization can save space both on disk and in memory when the
bluebox information is reloaded.
2012-11-23 18:44:51 -07:00
Matthew Flatt
8c1b5db815 raco setup: build database mapping doc tags to "out.sxref"s
The `xref' produced by `setup/xref' uses the database to delay
loading "out.sxref"s, which cuts 64-bit DrRacket's initial
footprint by around 50MB (i.e., about 20%).
2012-11-23 18:44:50 -07:00
Matthew Flatt
a830f77403 scribble: more control over version formatting
Add "Version" in front of a version name via `.version:before' or
`.versionNoNav:before' and `\SVersionBefore', so that they can
be configured through overriding CSS or Latex macro declarations.

Also, improve the documentation for how the `#:version' argument
of `title' is propagated to a `part' style property.

Closes PR 13227
2012-11-02 07:45:57 -06:00
Matthew Flatt
008f476210 Scribble PDF/Latex: Hangul support 2012-11-02 07:45:57 -06:00
Matthew Flatt
739aa11404 Scribble Latex/PDF: use tocstyle only if it's available 2012-11-01 09:29:26 -06:00
Robby Findler
54301ad5ed fix apparent type error in the definition of in-plt? 2012-10-27 18:37:59 -05:00
Matthew Flatt
c7d3de435f scribble Latex/PDF: use the `tocstyle' package
Fixes the spacing of section numbers for a section like N.M where
both N and M have two digits.
2012-10-27 09:24:02 -06:00
Samuel Bronson
a624d8de15 Misc improvements to the doc search JavaScript code
* Stamp "plt-index.js" with the path of its generator.

* Fix most of the "use strict" and js2-mode warnings in scribble's
  JavaScript.

* Some code improvements in the generating code too.

(With some edits by Eli.)
2012-10-10 11:05:25 -04:00
Matthew Flatt
6a82c8bb7c Scribble Latex: more complete and consistent handling of accented letters 2012-10-10 07:13:05 -06:00
Matthew Flatt
de9ccea7f1 Scribble: add some macron accents for Latex
Merge to v5.3.1
2012-10-10 06:49:01 -06:00
Manu
e7db0bdac4 Added CSS rules for printing. 2012-10-05 11:15:59 -04:00
Matthew Flatt
683e72e9e3 scribble: make `linebreak' work more for Latex/PDF rendering 2012-10-04 06:40:36 -06:00
Samuel Bronson
1dce7e587f scribble/private/manual-form: Implement racketgrammar in terms of racketgrammar*
This is just a refactoring for readability.
2012-10-02 15:06:27 -06:00
Matthew Flatt
44e55689a2 Scribble overview: mention tables comments, and pictures 2012-09-23 11:53:30 -05:00
Matthew Flatt
cb041850f4 scribble: decode a lone ` as a left "curly quote"
Also, add 'lsquo as allowed content.

Omitting the ` conversion in the first place was over-conservative.
There's a backward-compatibility issue with this addition (i.e., a
document might contain a backquote in a decoded context that is
meant to be rendered as a backquote), but the potential problems
seem minor.
2012-09-21 07:37:30 -06:00
Matthew Flatt
4cc475ad68 Scribble: fix problem with URL redirection 2012-09-13 11:05:52 -06:00
Matthew Flatt
3fb42cf3f1 scribble/html-properties: allow URLs in css-addition' and js-addition' 2012-09-11 18:52:59 -06:00
Matthew Flatt
9162fc2504 racket/html-properties: add `js-addition' 2012-09-11 17:39:12 -06:00
Matthew Flatt
dc925d2d8c scribble HTML: add head-extra' and support for attributes'
For a part that corresponds to an HTML page.
2012-09-11 17:18:14 -06:00
Matthew Flatt
7d2ce136fa scribble: another Latex/PDF section repair 2012-09-03 08:07:34 -06:00
Matthew Flatt
16621ad437 scribble: fix for Latex and `\Ssection' changes 2012-09-03 06:10:27 -06:00
Vincent St-Amour
a85438bc69 Add comment about the current state of the latex character table. 2012-08-31 19:31:20 -04:00
Matthew Flatt
7b2e18afc5 scribble: for Latex output, use `\Ssection', etc. for section
A style override might change `\section' to `\chapter', etc.
2012-08-31 16:07:10 -06:00
Matthew Flatt
d841ec1bd0 propagate prefix repair to to scribble/jfp' and scribble/lncs' 2012-08-31 07:33:08 -06:00
fbanados
0b19326ac6 include scribble/scribble-prefix.tex packages to scribble/sigplan 2012-08-31 07:33:08 -06:00
Matthew Flatt
5e5e503859 scribble/manual: add #:normalize?' option to deftech' et al. 2012-08-20 17:37:24 -06:00
Robby Findler
d96d920cf9 rename contract-blueboxes.rktd to blueboxes.rktd 2012-08-14 16:20:47 -05:00
Robby Findler
185de3b6eb remove unnecessary dependency from scribble on slideshow 2012-08-14 10:39:03 -05:00
Robby Findler
0c6734f782 Add the contents of the "blue boxes" in the docs to the upper-right
corner of the definitions window, based on the information that check
syntax computes

This commit contains two separate changes to make this work:

  - adding a new renderer, based on the text renderer, that
    pulls out the contents of the blue boxes and saves them
    in the doc/ directories (specifically in the files named
    contract-blueboxes.rktd)

  - extend check syntax to use and display the information
    build by the new renderer
2012-08-12 08:41:46 -05:00
Robby Findler
5d81b80736 correct spelling error 2012-08-11 22:50:49 -05:00
Robby Findler
8ee76c9547 Add index entries for @defconstructor (and friends). Also add
code that skips over them when building the search indices.
Overall, this means that the only change most people would see
is that multiple constructors in the same class will get a warning
(and there was one of those, so fixed that too).

Also, Rackety. Specifically, transformed this surprising combination
of constructs (where all caps are placeholders for something specific):

((if PRED
     (λ (c mk) BODY2)
     (λ (c mk) BODY1))
 content
 (lambda (tag) BODY3))

into this one:

(define (mk tag) BODY3)
(if PRED
    BODY1{c:=content}
    BODY2{c:=content})
2012-08-11 21:52:48 -05:00
Matthew Flatt
f11450d601 scribble/base: generalize `itemlist' to splice/coerce some arguments
Also, add a `spliceof' contract constructor to `scribble/decode'.
2012-08-03 13:43:23 -06:00
Matthias Felleisen
bf8c30727d fixed small mistake in defform/none from conversion to syntax/parse
merge into v5.3 but ask Matthew for second opinion
2012-07-23 11:35:59 -04:00
Robby Findler
0ee8155527 use a more descriptive name in the identifier generated by define-on-demand
so when it shows up in an error message it doesn't take forever to figure
out which 'val' that is
2012-07-15 08:07:11 -05:00
Vincent St-Amour
f036b0bd12 Add scribble support for additional letters from the Czech alphabet. 2012-07-12 17:40:01 -04:00
Matthew Flatt
f9b4c6b226 scribble: add --dest-base flag
Also add the option to `render' from `racket/render', and
document the existing `render%' initialization argument.
2012-07-06 16:48:36 -06:00
Eli Barzilay
75f710dc62 Some styling. 2012-07-06 16:07:30 -04:00
Matthew Flatt
2b9f57b01d scribble/*-properties: allow literal bytes in *-additions
For example, a `tex-addition' structure can have literal bytes
to include in the generated Latex, instead of a path to a file that
holds the content.
2012-07-06 13:17:35 -06:00
Danny Yoo
0a5e92c299 Correcting type error in latex-match: target-url-addr can be a path, which can't be consumed by regexp-replace 2012-07-06 12:03:47 -04:00
Matthew Flatt
e8d9d4e9ca improve error handling for `defproc'
Closes PR 12780
2012-07-02 10:07:52 -06:00
Matthew Flatt
b5189c8232 scribble: adjust `subsubsub*section' font size
Closes PR 12868
2012-07-02 09:00:08 -06:00
Matthew Flatt
814c974d01 scribble Latex: add \SNumberOfAuthors{} in output 2012-07-01 10:00:58 -06:00
Matthew Flatt
612c4ff524 scribble HTML render: avoid intermediate XML structure
As pointed out by Danny Yoo to save time during the rendering phase
2012-06-28 09:15:57 -06:00
Matthew Flatt
130618e946 tweaks to Danny's Scribble changes 2012-06-28 08:57:58 -06:00
Danny Yoo
d926f89cbe Correcting content->string so that it does not concatenate strings in quadratic time 2012-06-28 08:39:14 -06:00
Danny Yoo
2f4671235c Changing decode-string so it avoids allocation and interns the individual string components. 2012-06-28 08:39:03 -06:00
Matthew Flatt
5f3f3e8c54 scribble/eval: remove bogus top-level `namespace-require' 2012-06-27 12:28:17 -06:00
Matthew Flatt
6028a60f65 scribble/manual: add #:id' option to defproc'
Also, convert the implementation of `defproc', `defform', etc. to
use `syntax-parse'.
2012-06-25 23:16:33 -06:00
Robby Findler
3afba2d833 adjust defproc* so that it only shows the white background label once, instead
of once per different identifier that it is documenting
2012-06-25 13:42:09 -05:00
Matthew Flatt
c2924ef926 CSS tweak for whute label on blue boxes
This tweak avoids adding extra space when the white-label font is
taller than the line it's attached to. It also makes the label
disappear in IE 6, but I think we can live with that.
2012-06-25 09:02:51 -06:00
Robby Findler
f7185bec91 strengthen contract on blockss field of table struct in scribble 2012-06-22 22:12:54 -05:00
Robby Findler
c13a88915a remove uppercasing of the tag names 2012-06-20 08:22:58 -05:00
Robby Findler
4d7f6d7935 make scribble's part/document/element/etc structs all be #:transparent 2012-06-20 08:22:58 -05:00
Matthew Flatt
5ff3087677 scribble: adjust `def...' box to show a background label in HTML
For example, a syntactic form box is labeled with "SYNTAX". Forms
such as `defform' and `defthing' now support a `#:kind' option
for setting the label.
2012-06-17 09:19:58 +08:00
Matthew Flatt
815fd1b49c misc changes to speed up doc search generation
Cuts about 30% of the time on my machine.
2012-06-08 16:08:55 +08:00
Matthew Flatt
00e1ed9369 scribble: fix duplicate call to `render-element' callback
This change should cut the time to generate the search index
roughly in half.
2012-06-08 16:08:55 +08:00
Matthew Flatt
a137459b65 more error-message conversions and repairs 2012-05-27 11:29:21 -06:00
Matthew Flatt
9b7ef7bf69 scribble/eval: fix error line wrapping
The `wrap-line' function from `scribble/text/wrap' wants a
string that's a single line, so break the initial string
based on explicit lines, first.
2012-05-25 12:47:39 -06:00
Matthew Flatt
ec85dd913d fix Scribble module languages to allow submodules
That is, recognize `module' and `module*' as top-level forms.
2012-05-20 07:39:05 -06:00
Matthew Flatt
0c95475f4f fixes for `scribble/srcdoc'
Use the new `relative-in' form to make imports
resolve correctly when they are shifted among modules.
2012-05-15 20:03:41 -06:00
Matthew Flatt
964020f288 implement scribble/srcdoc' via submodules instead of expand'
Also add a `for-doc' require form, make `proc-doc' et al. provide
forms, make `provide/doc' an alias for `provide'.
2012-05-12 01:37:50 -06:00
Jay McCarthy
f675514a2b scribble/lp on racket/base vs scheme/base 2012-05-10 10:36:29 -06:00
Matthew Flatt
2d027e7ee5 scribble/eval: add eval:result' and eval:results' 2012-05-09 19:11:21 -06:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Eli Barzilay
084f1dcea7 Use the new `wrap-line' in the scribble text renderer.
Looks like it's not making any changes in the current tests (which use
the text renderer), but with words that are longer than the width the
old version would stop wrapping afetr these words.  Added a test file
that fails with that and succeeds with the new one.  If anyone cares
about this, it's easy to make hyphenate words that are too long for a
line.

(Also fixed some redundant frustration in the bib test...)
2012-05-06 08:17:36 -04:00
Eli Barzilay
34ec391194 Some racketization (and outdent). 2012-05-06 06:29:18 -04:00
Eli Barzilay
efda1706d8 Use the new wrap-line' in scribble/eval'.
This might have output that is a little better in cases where the
wrapped string is longer than `maxlen', for example, with an input of:

  "    x xxxxxxxxxxxxxxxx..."

and wrapping at 10 characters, the output was

  "    x\nxxxxxxxxxx\nxxxxxx..."

and now it's

  "    x xxxx\nxxxxxxxxxx\nxx..."
2012-05-06 06:15:04 -04:00
Eli Barzilay
89b9ad0dde New wrap-line' function in a new scribble/text/wrap' module.
This should probably become documented if it's stable enough.  For now
it's intended for building wrapping functions, so it's only documented
in comments the file.
2012-05-06 05:38:04 -04:00
Eli Barzilay
97850b5002 No need to use a new 'at-exp-prop property to identify newlines
The information is already present in the 'scribble property, so use it
instead.
2012-05-03 10:24:05 -04:00
Matthew Flatt
23296615ec scribble/eval: change string or byte-string expression handling
Use `datum->syntax' instead of `begin' to protect the string or byte
string. Danny Yoo suggested this change.
2012-05-01 16:48:15 -06:00
Matthew Flatt
393a1f441a scribble: for Latex, pick tt encoding of <, >, and | explicitly 2012-04-29 11:23:37 -06:00
Matthew Flatt
fc1089c842 scribble: change Latex rendering of empty hidden part titles 2012-04-29 10:37:11 -06:00
Matthias Felleisen
9ef66b80ea add a form to declare a module/library deprecated 2012-04-28 13:25:32 -04:00
Matthew Flatt
563909c328 scribble/bnf: add `BNF-seq-lines' 2012-04-26 17:59:19 -06:00
Matthias Felleisen
3e1e9c8763 removed code:comment hack that clearly never should have been there 2012-04-23 20:01:58 -04:00
Robby Findler
0b71ebecaf adjust the way 'new' is laid out in the documentation to be more DrRacket-like 2012-04-14 14:54:19 -05:00
Matthew Flatt
c5e5a0349a add #:line-number-sep' to codeblock' 2012-04-11 11:49:01 -06:00
Matthew Flatt
20256a3f15 scribble: add 'block style for `table' 2012-04-05 06:58:53 -06:00
Matthew Flatt
4735666cd9 scribble: for Latex/PDF output, use \makebox for precise pict widths
Otherwise, the width of a pict is implicitly rounded up, since
the PDF bounding box is an integer.
2012-03-27 13:14:54 -06:00
Matthew Flatt
2d87d48ebd make HTML rednering work when a `part' has not tags 2012-03-25 19:25:35 -06:00
Matthew Flatt
6c1e1635ab add missing "jfp.css" 2012-03-25 19:25:35 -06:00
Robby Findler
4fe8cd344c disable the drracket toolbar buttons for scribble/lp files 2012-03-17 19:24:33 -05:00