chore: remove preview/ directory
This commit is contained in:
169 files changed
No files matched your search
@@ -0,0 +1,64 @@
|
||||
/// Provides typographically correct TeX-family logos for Typst. Based on the
|
||||
/// LaTeX metalogo package by Andrew Gilbert Moschou.
|
||||
///
|
||||
/// # Example
|
||||
/// ```typ
|
||||
/// #import "@preview/swank-tex:<version>": *
|
||||
/// The #TeX typesetting system, along with #LaTeX and #XeTeX.
|
||||
/// ```
|
||||
|
||||
#let (TeX, LaTeX, LaTeX2E, XeTeX, XeLaTeX, LuaTeX, LuaLaTeX, pdfTeX) = {
|
||||
// kerning values between pairs
|
||||
let kern = (
|
||||
"Te": h(-0.165em), // Knuth says: -0.1667em
|
||||
"eX": h(-0.122em), // Knuth says: -0.125em
|
||||
"La": h(-0.361em),
|
||||
"aT": h(-0.147em),
|
||||
"X2": h( 0.150em),
|
||||
"twoE": h( 0.133em),
|
||||
"Xe": h(-0.122em), // mirrors "eX"
|
||||
"eT": h(-0.165em), // mirrors "Te"
|
||||
"eL": h(-0.124em),
|
||||
"LuaT": h( 0.005em), // questionable, but matches metalogo output
|
||||
"LuaL": h( 0.005em), // questionable, but matches metalogo output
|
||||
)
|
||||
|
||||
// vertical translation for certain characters
|
||||
let drop = (
|
||||
"E": 0.220em,
|
||||
"A": -0.178em,
|
||||
"e": -0.104em,
|
||||
)
|
||||
|
||||
// resize certain characters
|
||||
let sized = (
|
||||
"A": text(size: 0.7em, "A"),
|
||||
"e": text(size: 1.66em, sym.epsilon),
|
||||
)
|
||||
|
||||
// helper functions
|
||||
let ncm(content) = text(font: "New Computer Modern", content)
|
||||
|
||||
// components (used in logos below)
|
||||
let E = box(move(dy: drop.E, "E"))
|
||||
let A = box(move(dy: drop.A, sized.A))
|
||||
let e = box(move(dy: drop.e, rotate(12deg, sized.e)))
|
||||
let Erev = box(scale(x: -100%, E))
|
||||
let Xe = box[X#kern.Xe#Erev]
|
||||
|
||||
// logos which are also components
|
||||
let TeX = ncm(box[T#kern.Te#E#kern.eX#[X]])
|
||||
let LaTeX = ncm(box[L#kern.La#A#kern.aT#TeX])
|
||||
|
||||
// return logos
|
||||
(
|
||||
TeX,
|
||||
LaTeX,
|
||||
ncm(box[#LaTeX#kern.X2#[2]#sub[#kern.twoE#e]]), // LaTeX2E
|
||||
ncm(box[#Xe#kern.eT#TeX]), // XeTeX
|
||||
ncm(box[#Xe#kern.eL#LaTeX]), // XeLaTeX
|
||||
ncm(box[Lua#kern.LuaT#TeX]), // LuaTeX
|
||||
ncm(box[Lua#kern.LuaL#LaTeX]), // LuaLaTeX
|
||||
ncm(box[pdf#TeX]), // pdfTeX
|
||||
)
|
||||
}
|
||||
Reference in new issue
Block a user