• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sile-typesetter / sile / 6713098919

31 Oct 2023 10:21PM UTC coverage: 52.831% (-21.8%) from 74.636%
6713098919

push

github

web-flow
Merge d0a2a1ee9 into b185d4972

45 of 45 new or added lines in 3 files covered. (100.0%)

8173 of 15470 relevant lines covered (52.83%)

6562.28 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/packages/verbatim/init.lua
1
local base = require("packages.base")
×
2

3
local package = pl.class(base)
×
4
package._name = "verbatim"
×
5

6
function package:registerCommands ()
×
7

8
  self:registerCommand("verbatim:font", function (options, content)
×
9
    options.family = options.family or "Hack"
×
10
    options.size = options.size or SILE.settings:get("font.size") - 3
×
11
    SILE.call("font", options, content)
×
12
  end, "The font chosen for the verbatim environment")
×
13

14
  self:registerCommand("verbatim", function (_, content)
×
15
    SILE.typesetter:pushVglue(6)
×
16
    SILE.typesetter:leaveHmode()
×
17
    SILE.settings:temporarily(function()
×
18
      SILE.settings:set("typesetter.parseppattern", "\n")
×
19
      SILE.settings:set("typesetter.obeyspaces", true)
×
20
      SILE.settings:set("document.rskip", SILE.nodefactory.glue("0 plus 10000pt"))
×
21
      SILE.settings:set("document.parindent", SILE.nodefactory.glue("0"))
×
22
      SILE.settings:set("document.baselineskip", SILE.nodefactory.vglue("0"))
×
23
      SILE.settings:set("document.lineskip", SILE.nodefactory.vglue("2pt"))
×
24
      SILE.call("verbatim:font")
×
25
      SILE.settings:set("document.spaceskip", SILE.length("1spc"))
×
26
      SILE.settings:set("shaper.variablespaces", false)
×
27
      SILE.settings:set("document.language", "und")
×
28
      SILE.process(content)
×
29
    end)
30
    SILE.typesetter:leaveHmode()
×
31
  end, "Typesets its contents in a monospaced font.")
×
32

33
  self:registerCommand("obeylines", function (_, content)
×
34
    SILE.settings:temporarily(function()
×
35
      SILE.settings:set("typesetter.parseppattern", "\n")
×
36
      SILE.process(content)
×
37
    end)
38
  end)
39

40
end
41

42
package.documentation = [[
43
\begin{document}
44
The \autodoc:package{verbatim} package is useful when quoting pieces of computer code and other text for which formatting is significant.
45
It changes SILE’s settings so that text is set ragged right, with no hyphenation, no indentation and regular spacing.
46
It tells SILE to honor multiple spaces, and sets a monospaced font.
47

48
\autodoc:note{Despite the name, \autodoc:environment{verbatim} does not alter the way that SILE sees special characters.
49
You still need to escape backslashes and braces: to produce a backslash, you need to write \code{\\\\}.}
50

51
Here is some text set in the \autodoc:environment{verbatim} environment:
52

53
\begin[type=autodoc:codeblock]{raw}
54
local function init (class, _)
55
  class:loadPackage("rebox")
56
  class:loadPackage("raiselower")
57
end
58
\end{raw}
59

60
If you want to specify what font the verbatim environment should use, you can redefine the \autodoc:command{\verbatim:font} command.
61
For example you could change it from XML like this:
62

63
\begin[type=autodoc:codeblock]{raw}
64
<define command="verbatim:font">
65
   <font family="DejaVu Sans Mono" size="9pt"/>
66
</define>
67
\end{raw}
68
\end{document}
69
]]
×
70

71
return package
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc