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

sile-typesetter / sile / 11645827362

02 Nov 2024 09:08PM UTC coverage: 54.19% (-15.2%) from 69.34%
11645827362

push

github

web-flow
Merge pull request #2151 from Omikhleia/math-more-fixes-and-features

Math more fixes and features

103 of 208 new or added lines in 4 files covered. (49.52%)

2652 existing lines in 91 files now uncovered.

9816 of 18114 relevant lines covered (54.19%)

671.83 hits per line

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

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

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

UNCOV
6
local outcounter = 1
×
7

8
local function outputMarks ()
UNCOV
9
   local page = SILE.getFrame("page")
×
10
   -- Length of crop mark bars
UNCOV
11
   local cropsz = 20
×
12
   -- Ensure the crop marks stay outside the bleed area
UNCOV
13
   local offset = math.max(10, SILE.documentState.bleed / 2)
×
14

UNCOV
15
   SILE.outputter:drawRule(page:left() - offset, page:top(), -cropsz, 0.5)
×
UNCOV
16
   SILE.outputter:drawRule(page:left(), page:top() - offset, 0.5, -cropsz)
×
UNCOV
17
   SILE.outputter:drawRule(page:right() + offset, page:top(), cropsz, 0.5)
×
UNCOV
18
   SILE.outputter:drawRule(page:right(), page:top() - offset, 0.5, -cropsz)
×
UNCOV
19
   SILE.outputter:drawRule(page:left() - offset, page:bottom(), -cropsz, 0.5)
×
UNCOV
20
   SILE.outputter:drawRule(page:left(), page:bottom() + offset, 0.5, cropsz)
×
UNCOV
21
   SILE.outputter:drawRule(page:right() + offset, page:bottom(), cropsz, 0.5)
×
UNCOV
22
   SILE.outputter:drawRule(page:right(), page:bottom() + offset, 0.5, cropsz)
×
23

UNCOV
24
   local hbox, hlist = SILE.typesetter:makeHbox(function ()
×
UNCOV
25
      SILE.settings:temporarily(function ()
×
UNCOV
26
         SILE.call("noindent")
×
UNCOV
27
         SILE.call("font", { size = "6pt" })
×
UNCOV
28
         if SILE.Commands["crop:header"] then
×
29
            -- Deprecation shim:
30
            -- If user redefined this command, still use it with a warning...
31
            SU.deprecated("crop:header", "cropmarks:header", "0.15.0", "0.16.0")
×
32
            SILE.call("crop:header")
×
33
         else
UNCOV
34
            SILE.call("cropmarks:header")
×
35
         end
36
      end)
37
   end)
UNCOV
38
   if #hlist > 0 then
×
39
      SU.error("Migrating content is forbidden in crop header")
×
40
   end
41

UNCOV
42
   SILE.typesetter.frame.state.cursorX = page:left() + offset
×
UNCOV
43
   SILE.typesetter.frame.state.cursorY = page:top() - offset - 4
×
UNCOV
44
   outcounter = outcounter + 1
×
45

UNCOV
46
   if hbox then
×
UNCOV
47
      for i = 1, #hbox.value do
×
UNCOV
48
         hbox.value[i]:outputYourself(SILE.typesetter, { ratio = 1 })
×
49
      end
50
   end
51
end
52

UNCOV
53
function package:_init ()
×
UNCOV
54
   base._init(self)
×
UNCOV
55
   self:loadPackage("date")
×
56
end
57

UNCOV
58
function package:registerCommands ()
×
UNCOV
59
   self:registerCommand("cropmarks:header", function (_, _)
×
60
      local info = SILE.input.filenames[1]
×
61
         .. " - "
×
62
         .. self.class.packages.date:date({ format = "%x %X" })
×
63
         .. " - "
×
64
         .. outcounter
×
65
      SILE.typesetter:typeset(info)
×
66
   end)
67

UNCOV
68
   self:registerCommand("cropmarks:setup", function (_, _)
×
UNCOV
69
      self.class:registerHook("endpage", outputMarks)
×
70
   end)
71

UNCOV
72
   self:registerCommand("crop:setup", function (_, _)
×
73
      SU.deprecated("crop:setup", "cropmarks:setup", "0.15.10", "0.17.0")
×
74
      SILE.call("cropmarks:setup")
×
75
   end)
76
end
77

78
package.documentation = [[
79
\begin{document}
80
When preparing a document for printing, you may be asked by the printer add crop marks.
81
This means that you need to output the document on a slightly larger page size than your target paper and add crop marks to show where the paper sheet should be trimmed down to the correct size.
82

83
Actual paper size, true page content area and bleed/trim area can all be set via class options.
84

85
This package provides the \autodoc:command{\cropmarks:setup} command which should be run early in your document file.
86
It places crop marks around the true page content.
87
The crop marks are guaranteed to stay outside the bleed/trim area, when defined.
88
It also adds a header at the top of the page with the filename, date and output sheet number.
89
You can customize this header by redefining \autodoc:command{\cropmarks:header}.
90
\end{document}
UNCOV
91
]]
×
92

UNCOV
93
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

© 2026 Coveralls, Inc