aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--makefile2
-rw-r--r--manual.typ133
-rw-r--r--typst.toml4
3 files changed, 136 insertions, 3 deletions
diff --git a/makefile b/makefile
index feef4f6..99b70fc 100644
--- a/makefile
+++ b/makefile
@@ -1,4 +1,4 @@
-all: demo.svg
+all: demo.svg manual.pdf
%.pdf: %.typ
typst compile $<
diff --git a/manual.typ b/manual.typ
new file mode 100644
index 0000000..04012b2
--- /dev/null
+++ b/manual.typ
@@ -0,0 +1,133 @@
+#import "@preview/mantys:0.1.4": *
+#import "@preview/tablex:0.0.9": tablex, hlinex
+
+#import "lib.typ": *
+
+#let manifest = toml("typst.toml")
+#(manifest.package.description = [
+ #show "LaTeX": LaTeX
+ #manifest.package.description
+])
+#show: mantys.with(
+ ..manifest,
+ title: [The #manifest.package.name package],
+ date: datetime.today(),
+ abstract: [
+ This package adds commands to typeset #LaTeX compiler logos and exposes
+ their spacing parameters to the end user. Similar to the original #LaTeX
+ `metalogo` package, it allows the compiler logos to be optimized for
+ different typefaces.
+ ],
+)
+#show table.cell.where(y: 0): strong
+#let toprule = 1pt
+#let midrule = 0.75pt
+#let bottomrule = 1pt
+#set table(
+ align: center,
+ stroke: (x, y) => (
+ top:
+ if y == 0 { toprule }
+ else if y == 1 { midrule }
+ else { 0pt },
+ bottom: bottomrule,
+ ),
+ inset: (x, y) => (
+ x: 5pt,
+ y:
+ if y == 0 { 0.6em }
+ else { 0% + 6pt },
+ ),
+)
+
+= Commands
+
+== Logo commands <cmd-logo>
+
+#variable("TeX")[#TeX]
+#variable("LaTeX")[#LaTeX]
+#variable("XeTeX")[#XeTeX]
+#variable("XeLaTeX")[#XeLaTeX]
+#variable("LuaLaTeX")[#LuaLaTeX]
+#variable("LuaTeX")[#LuaTeX]
+#variable("LaTeXe")[#LaTeXe]
+
+== Configuration
+
+#command("metalogo", sarg("options"))[
+ #argument("options", types: ((:)), default: none)[
+ Options passed to #cmd("metalogo") override the lengths used by the logo
+ commands described in @cmd-logo globally.
+
+ @metalogo-options lists the accepted options and their default values.
+ ]
+]
+
+#context {
+ let cfg = config.get()
+ [
+ #figure(caption: [Kern and drop parameters])[
+ Kerns
+ #table(
+ columns: 4,
+ table.header[Characters][Logo][Option][Default value],
+
+ [T#h(cfg.kern-te)#drop(cfg.drop-tex)[E]],
+ [#TeX],
+ [#opt("kern-te")],
+ [#value(cfg.kern-te)],
+
+ [#drop(cfg.drop-tex)[E]#h(cfg.kern-ex)X],
+ [#TeX],
+ [#opt("kern-ex")],
+ [#value(cfg.kern-ex)],
+
+ [],
+ [#LaTeX],
+ [#opt("kern-la")],
+ [#value(cfg.kern-la)],
+
+ [],
+ [#LaTeX],
+ [#opt("kern-at")],
+ [#value(cfg.kern-at)],
+
+ [],
+ [#XeTeX],
+ [#opt("kern-xe")],
+ [#value(cfg.kern-xe)],
+
+ [],
+ [#XeTeX],
+ [#opt("kern-et")],
+ [#value(cfg.kern-et)],
+
+ [],
+ [#XeLaTeX],
+ [#opt("kern-el")],
+ [#value(cfg.kern-el)],
+
+ [],
+ [#LaTeXe],
+ [#opt("kern-x2")],
+ [#value(cfg.kern-x2)],
+ )
+
+ Drops
+ #table(
+ columns: 4,
+ table.header[Character][Logo][Option][Default value],
+
+ [#drop(cfg.drop-tex)[E]],
+ [#TeX],
+ [#opt("drop-tex")],
+ [#value(cfg.drop-tex)],
+
+ [#drop(cfg.drop-xe)[#mirror[E]]],
+ [#XeTeX],
+ [#opt("drop-xe")],
+ [#value(cfg.drop-xe)],
+ )
+ ] <metalogo-options>
+ ]
+}
diff --git a/typst.toml b/typst.toml
index 702f8e5..4fab5cc 100644
--- a/typst.toml
+++ b/typst.toml
@@ -3,9 +3,9 @@ name = "metalogo"
version = "1.2.0"
authors = ["Loek Le Blansch <loek@pipeframe.xyz>"]
license = "MIT"
-description = "Typeset various LaTeX logos"
+description = "Typeset various LaTeX compiler logos"
repository = "https://github.com/lonkaars/typst-metalogo.git"
keywords = ["metalogo", "logo", "LaTeX", "XeLaTeX", "XeTeX", "LuaLaTeX"]
entrypoint = "metalogo.typ"
compiler = "0.12.0"
-exclude = ["demo.typ", "demo.svg", "makefile"]
+exclude = ["demo.typ", "demo.svg", "makefile", "manual.typ"]