Last active
December 22, 2018 13:56
-
-
Save puripuri2100/9143639ef19c54abf5ac629c940dbd04 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@require: stdjabook | |
@import: texlogo | |
@require: table | |
@require: code | |
let-block ctx +centering it = | |
line-break true true ctx (inline-fil ++ read-inline ctx it ++ inline-fil) | |
let-inline ctx \textrm it = | |
let ctxsf = | |
ctx |> StdJaBook.set-latin-font StdJaBook.font-latin-roman | |
in | |
read-inline ctxsf it | |
let-inline ctx \textss it = | |
let ctxss = | |
ctx |> StdJaBook.set-latin-font StdJaBook.font-latin-sans | |
in | |
read-inline ctxss it | |
let-inline ctx \textit it = | |
let ctxit = | |
ctx |> StdJaBook.set-latin-font StdJaBook.font-latin-italic | |
in | |
read-inline ctxit it | |
in | |
document (| | |
title = {\TeX;logo}; | |
author = {}; | |
show-title = false; | |
show-toc = false; | |
|) '< | |
+centering{ | |
\tabular(fun t -> ( | |
let (c, l, r) = (t#c, t#l, t#r) in | |
[ | |
[c {}; c {\textrm{roman}}; c {\textss{sans}}; c {\textit{italic}} ]; | |
[c {\code(`\TeX`);} ; c {\textrm{\TeX;}}; c {\textss{\TeX;}}; c {\textit{\TeX;}}]; | |
[c {\code(`\eTeX`);} ; c {\textrm{\eTeX;}}; c {\textss{\eTeX;}}; c {\textit{\eTeX;}}]; | |
[c {\code(`\LaTeX`);} ; c {\textrm{\LaTeX;}}; c {\textss{\LaTeX;}}; c {\textit{\LaTeX;}}]; | |
[c {\code(`\LaTeXe`);} ; c {\textrm{\LaTeXe;}}; c {\textss{\LaTeXe;}}; c {\textit{\LaTeXe;}}]; | |
[c {\code(`\BibTeX`);} ; c {\textrm{\BibTeX;}}; c {\textss{\BibTeX;}}; c {\textit{\BibTeX;}}]; | |
[c {\code(`\pTeX`);} ; c {\textrm{\pTeX;}}; c {\textss{\pTeX;}}; c {\textit{\pTeX;}}]; | |
[c {\code(`\epTeX`);} ; c {\textrm{\epTeX;}}; c {\textss{\epTeX;}}; c {\textit{\epTeX;}}]; | |
[c {\code(`\pLaTeX`);} ; c {\textrm{\pLaTeX;}}; c {\textss{\pLaTeX;}}; c {\textit{\pLaTeX;}}]; | |
[c {\code(`\pLaTeXe`);} ; c {\textrm{\pLaTeXe;}}; c {\textss{\pLaTeXe;}}; c {\textit{\pLaTeXe;}}]; | |
[c {\code(`\pBibTeX`);} ; c {\textrm{\pBibTeX;}}; c {\textss{\pBibTeX;}}; c {\textit{\pBibTeX;}}]; | |
[c {\code(`\upTeX`);} ; c {\textrm{\upTeX;}}; c {\textss{\upTeX;}}; c {\textit{\upTeX;}}]; | |
[c {\code(`\eupTeX`);} ; c {\textrm{\eupTeX;}}; c {\textss{\eupTeX;}}; c {\textit{\eupTeX;}}]; | |
[c {\code(`\upLaTeX`);} ; c {\textrm{\upLaTeX;}}; c {\textss{\upLaTeX;}}; c {\textit{\upLaTeX;}}]; | |
[c {\code(`\upLaTeXe`);} ; c {\textrm{\upLaTeXe;}}; c {\textss{\upLaTeXe;}}; c {\textit{\upLaTeXe;}}]; | |
[c {\code(`\upBibTeX`);} ; c {\textrm{\upBibTeX;}}; c {\textss{\upBibTeX;}}; c {\textit{\upBibTeX;}}]; | |
[c {\code(`\JTeX`);} ; c {\textrm{\JTeX;}}; c {\textss{\JTeX;}}; c {\textit{\JTeX;}}]; | |
[c {\code(`\JLaTeX`);} ; c {\textrm{\JLaTeX;}}; c {\textss{\JLaTeX;}}; c {\textit{\JLaTeX;}}]; | |
[c {\code(`\JBibTeX`);} ; c {\textrm{\JBibTeX;}}; c {\textss{\JBibTeX;}}; c {\textit{\JBibTeX;}}]; | |
[c {\code(`\LuaTeX`);} ; c {\textrm{\LuaTeX;}}; c {\textss{\LuaTeX;}}; c {\textit{\LuaTeX;}}]; | |
[c {\code(`\LuaLaTeX`);} ; c {\textrm{\LuaLaTeX;}}; c {\textss{\LuaLaTeX;}}; c {\textit{\LuaLaTeX;}}]; | |
[c {\code(`\XeTeX`);} ; c {\textrm{\XeTeX;}}; c {\textss{\XeTeX;}}; c {\textit{\XeTeX;}}]; | |
[c {\code(`\XeLaTeX`);} ; c {\textrm{\XeLaTeX;}}; c {\textss{\XeLaTeX;}}; c {\textit{\XeLaTeX;}}]; | |
[c {\code(`\pdfTeX`);} ; c {\textrm{\pdfTeX;}}; c {\textss{\pdfTeX;}}; c {\textit{\pdfTeX;}}]; | |
[c {\code(`\pdfLaTeX`);} ; c {\textrm{\pdfLaTeX;}}; c {\textss{\pdfLaTeX;}}; c {\textit{\pdfLaTeX;}}]; | |
[c {\code(`\ConTeXt`);} ; c {\textrm{\ConTeXt;}}; c {\textss{\ConTeXt;}}; c {\textit{\ConTeXt;}}]; | |
[c {\code(`\LyX`);} ; c {\textrm{\LyX;}}; c {\textss{\LyX;}}; c {\textit{\LyX;}}]; | |
[c {\code(`\TikZ`);} ; c {\textrm{\TikZ;}}; c {\textss{\TikZ;}}; c {\textit{\TikZ;}}]; | |
[c {\code(`\KOMAScript`);} ; c {\textrm{\KOMAScript;}}; c {\textss{\KOMAScript;}}; c {\textit{\KOMAScript;}}]; | |
[c {\code(`\LaTeXTeX`);} ; c {\textrm{\LaTeXTeX;}}; c {\textss{\LaTeXTeX;}}; c {\textit{\LaTeXTeX;}}]; | |
[c {\code(`\PiCTeX`);} ; c {\textrm{\PiCTeX;}}; c {\textss{\PiCTeX;}}; c {\textit{\PiCTeX;}}]; | |
[c {\code(`\teTeX`);} ; c {\textrm{\teTeX;}}; c {\textss{\teTeX;}}; c {\textit{\teTeX;}}]; | |
[c {\code(`\SageTeX`);} ; c {\textrm{\SageTeX;}}; c {\textss{\SageTeX;}}; c {\textit{\SageTeX;}}]; | |
[c {\code(`\TTH`);} ; c {\textrm{\TTH;}}; c {\textss{\TTH;}}; c {\textit{\TTH;}}]; | |
[c {\code(`\HeVeA`);} ; c {\textrm{\HeVeA;}}; c {\textss{\HeVeA;}}; c {\textit{\HeVeA;}}]; | |
[c {\code(`\KaTeX`);} ; c {\textrm{\KaTeX;}}; c {\textss{\KaTeX;}}; c {\textit{\KaTeX;}}]; | |
[c {\code(`\KET`);} ; c {\textrm{\KET;}}; c {\textss{\KET;}}; c {\textit{\KET;}}]; | |
[c {\code(`\KETpic`);} ; c {\textrm{\KETpic;}}; c {\textss{\KETpic;}}; c {\textit{\KETpic;}}]; | |
[c {\code(`\LaTeXiT`);} ; c {\textrm{\LaTeXiT;}}; c {\textss{\LaTeXiT;}}; c {\textit{\LaTeXiT;}}]; | |
[c {\code(`\LaTeXML`);} ; c {\textrm{\LaTeXML;}}; c {\textss{\LaTeXML;}}; c {\textit{\LaTeXML;}}]; | |
[c {\code(`\pTeXsT`);} ; c {\textrm{\pTeXsT;}}; c {\textss{\pTeXsT;}}; c {\textit{\pTeXsT;}}]; | |
[c {\code(`\BaSiX`);} ; c {\textrm{\BaSiX;}}; c {\textss{\BaSiX;}}; c {\textit{\BaSiX;}}]; | |
[c {\code(`\TeXonLaTeX`);} ; c {\textrm{\TeXonLaTeX;}}; c {\textss{\TeXonLaTeX;}}; c {\textit{\TeXonLaTeX;}}]; | |
[c {\code(`\ApTeX`);} ; c {\textrm{\ApTeX;}}; c {\textss{\ApTeX;}}; c {\textit{\ApTeX;}}]; | |
[c {\code(`\DVIPDFMx`);} ; c {\textrm{\DVIPDFMx;}}; c {\textss{\DVIPDFMx;}}; c {\textit{\DVIPDFMx;}}]; | |
] | |
))(fun xs ys -> ( | |
let thin = stroke 0.5pt Color.black in | |
let thick = stroke 1pt Color.black in | |
match (ys, List.reverse ys) with | |
| (y0 :: y1 :: y2 :: _, ylast :: _) -> | |
( match (xs, List.reverse xs) with | |
| (x0 :: x1 :: _ :: x3 :: _, xlast :: _) -> | |
let gsY1 = | |
[y1] |> List.map (fun y -> | |
thin (Gr.line (x0, y) (xlast, y))) in | |
let gsY2 = | |
[y0; ylast] |> List.map (fun y -> | |
thick (Gr.line (x0, y) (xlast, y))) in | |
let gsX = | |
[x1] |> List.map (fun x -> | |
thin (Gr.line (x, y0) (x, ylast))) in | |
List.concat [ | |
gsX; gsY1; gsY2; | |
] | |
| _ -> [] | |
) | |
| _ -> [] | |
)); | |
} | |
> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@require: pervasives | |
@require: math | |
let-inline ctx \TeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fE = ctx |> set-manual-rising (0pt -' (size *' 0.15)) | |
|> read-inline | |
in | |
f {T} ++ kern (size *' 0.125) ++ fE {E} ++ kern (size *' 0.08) ++ f {X} | |
let-inline ctx \eTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {${\epsilon}} ++ f {-} ++ kern (size *' 0.08) ++ f {\TeX;} | |
let-inline ctx \LaTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fA = ctx |> set-font-size (size *' 0.85) | |
|> set-manual-rising (size *' 0.1) | |
|> read-inline | |
in | |
f {L} ++ kern (size *' 0.3) ++ fA {A} ++ kern (size *' 0.15) ++ f {\TeX;} | |
let-inline ctx \LaTeXe = | |
let size = get-font-size ctx in | |
let fe = ctx |> set-manual-rising (0pt -' (size *' 0.125)) | |
|> read-inline | |
in | |
let f = read-inline ctx in | |
f {\LaTeX;} ++ inline-skip (size *' 0.15) ++ f {2} ++ fe {${\epsilon}} | |
let-inline ctx \BibTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fI = ctx |> set-font-size (size *' 0.75) | |
|> read-inline | |
in | |
let fB = ctx |> set-font-size (size *' 0.75) | |
|> read-inline | |
in | |
f {B} ++ kern (size *' 0.05) ++ fI {I} ++ kern (size *' 0.025) ++ fB {B} ++ kern (size *' 0.08) ++ f {\TeX;} | |
let-inline ctx \pTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {p} ++ kern (size *' 0.05) ++ f {\TeX;} | |
let-inline ctx \epTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {${\epsilon}} ++ f {-} ++ kern (size *' 0.08) ++ f {\pTeX;} | |
let-inline ctx \pLaTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {p} ++ kern (size *' 0.05) ++ f {\LaTeX;} | |
let-inline ctx \pLaTeXe = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {p} ++ kern (size *' 0.05) ++ f {\LaTeXe;} | |
let-inline ctx \pBibTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {p} ++ kern (size *' 0.05) ++ f {\BibTeX;} | |
let-inline ctx \upTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {up} ++ kern (size *' 0.05) ++ f {\TeX;} | |
let-inline ctx \eupTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {${\epsilon}} ++ f {-} ++ kern (size *' 0.08) ++ f {\upTeX;} | |
let-inline ctx \upLaTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {up} ++ kern (size *' 0.05) ++ f {\LaTeX;} | |
let-inline ctx \upLaTeXe = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {up} ++ kern (size *' 0.05) ++ f {\LaTeXe;} | |
let-inline ctx \upBibTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {up} ++ kern (size *' 0.05) ++ f {\BibTeX;} | |
let-inline ctx \JTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fJ = ctx |> set-manual-rising (0pt -' (size *' 0.2)) | |
|> read-inline | |
in | |
fJ {J} ++ kern (size *' 0.15) ++ f {\TeX;} | |
let-inline ctx \JLaTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fJ = ctx |> set-manual-rising (0pt -' (size *' 0.2)) | |
|> read-inline | |
in | |
fJ {J} ++ kern (size *' 0.15) ++ f {\LaTeX;} | |
let-inline ctx \JBibTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fJ = ctx |> set-manual-rising (0pt -' (size *' 0.2)) | |
|> read-inline | |
in | |
fJ {J} ++ kern (size *' 0.15) ++ f {\BibTeX;} | |
let-inline ctx \LuaTeX = | |
let f = read-inline ctx in | |
f {Lua} ++ f {\TeX;} | |
let-inline ctx \LuaLaTeX = | |
let f = read-inline ctx in | |
f {Lua} ++ f {\LaTeX;} | |
let-inline ctx \XeTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fE = ctx |> set-manual-rising (0pt -' (size *' 0.15)) | |
|> read-inline | |
in | |
f {X} ++ kern (size *' 0.08) ++ fE {Ǝ} ++ kern (size *' 0.13) ++ f {\TeX;} | |
let-inline ctx \XeLaTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fE = ctx |> set-manual-rising (0pt -' (size *' 0.15)) | |
|> read-inline | |
in | |
f {X} ++ kern (size *' 0.08) ++ fE {Ǝ} ++ kern (size *' 0.1) ++ f {\LaTeX;} | |
let-inline ctx \pdfTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {pdf} ++ inline-skip (size *' 0.08)++ f {\TeX;} | |
let-inline ctx \pdfLaTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {pdf} ++ inline-skip (size *' 0.08)++ f {\LaTeX;} | |
let-inline ctx \ConTeXt = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {C} ++ kern (size *' 0.0333) ++ f {on} ++ kern (size *' 0.0667) ++ f {\TeX;} ++ kern (size *' 0.0333) ++ f {t} | |
let-inline ctx \LyX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fY = ctx |> set-manual-rising (0pt -' (size *' 0.25)) | |
|> read-inline | |
in | |
f {L} ++ kern (size *' 0.1667) ++ fY {Y} ++ kern (size *' 0.125) ++ f {X} | |
let-inline ctx \TikZ = | |
let f = read-inline ctx in | |
let fk = ctx |> set-font Latin (`Junicode-it`, 1., 0.) | |
|> read-inline | |
in | |
f {Ti} ++ fk {k} ++ f {Z} | |
let-inline ctx \KOMAScript = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {K} ++ inline-skip (size *' 0.05) ++ f {O} ++ inline-skip (size *' 0.05) | |
++ f {M} ++ inline-skip (size *' 0.05) ++ f {A} ++ inline-skip (size *' 0.1) | |
++ f {-} ++ inline-skip (size *' 0.1) ++ f {Script} | |
let-inline ctx \LaTeXTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fA = ctx |> set-font-size (size *' 0.85) | |
|> set-manual-rising (size *' 0.1) | |
|> read-inline | |
in | |
f {(} ++ kern (size *' 0.15) ++ f {L} ++ kern (size *' 0.3) | |
++ fA {A} ++ kern (size *' 0.2) ++ f{)} ++ kern (size *' 0.15) ++ f{\TeX;} | |
let-inline ctx \PiCTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fI = ctx |> set-manual-rising (0pt -' (size *' 0.25)) | |
|> read-inline | |
in | |
f{P} ++ kern (size *' 0.12) ++ fI {I} ++ kern (size *' 0.075) ++ f {C} | |
++ kern (size *' 0.11) ++ f {\TeX;} | |
let-inline ctx \SageTeX = | |
let f = read-inline ctx in | |
f {Sage} ++ f{\TeX;} | |
let-inline ctx \teTeX = | |
let f = read-inline ctx in | |
f {te\TeX;} | |
let-inline ctx \TTH = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fT = ctx |> set-manual-rising (0pt -' (size *' 0.2)) | |
|> set-font-size (size *' 0.8) | |
|> read-inline | |
in | |
f {T} ++ fT {T} ++ f {H} | |
let-inline ctx \HeVeA = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fE = ctx |> set-manual-rising (size *' 0.1) | |
|> set-font-size (size *' 0.7) | |
|> read-inline | |
in | |
f {H} ++ fE {E} ++ kern (size *' 0.07) ++ f {V} ++ kern ( size *' 0.08) ++ fE {E} ++ f {A} | |
let-inline ctx \KaTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fA = ctx |> set-font-size (size *' 0.8) | |
|> set-manual-rising (size *' 0.1) | |
|> read-inline | |
in | |
f {K} ++ kern (size *' 0.15) ++ fA {A} ++ kern (size *' 0.15) ++ f {\TeX;} | |
let-inline ctx \KET = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fE = ctx |> set-manual-rising (0pt -' (size *' 0.15)) | |
|> read-inline | |
in | |
f {K} ++ kern (size *' 0.125) ++ fE {E} ++ kern (size *' 0.1) ++ f {T} | |
let-inline ctx \KETpic = | |
read-inline ctx {\KET;pic} | |
let-inline ctx \LaTeXiT = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fi = ctx |> set-manual-rising (size *' 0.15) | |
|> read-inline | |
in | |
f {\LaTeX;} ++ kern (size *' 0.07) ++ fi {i} ++ kern (size *' 0.01667) ++ f{T} | |
let-inline ctx \LaTeXML = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fA = ctx |> set-font-size (size *' 0.85) | |
|> set-manual-rising (size *' 0.1) | |
|> read-inline | |
in | |
let fE = ctx |> set-manual-rising (0pt -' (size *' 0.15)) | |
|> read-inline | |
in | |
let fXML = ctx |> set-font-size (size *' 0.8) | |
|> read-inline | |
in | |
f {L} ++ kern (size *' 0.3) ++ fA {A} ++ kern (size *' 0.15) ++ f {T} ++ kern (size *' 0.125) ++ fE {E} ++ fXML {XML} | |
let-inline ctx \pTeXsT = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {p} ++ kern (size *' 0.21) ++ f {\TeX;} ++ kern (size *' 0.1) ++ f {s} ++ kern (size *' 0.21) ++ f{T} | |
let-inline ctx \BaSiX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fAI = ctx |> set-manual-rising (0pt -' (size *' 0.225)) | |
|> read-inline | |
in | |
f {B} ++ kern (size *' 0.18) ++ fAI {A} ++ kern (size *' 0.15) ++ f {S} | |
++ kern (size *' 0.1) ++ fAI {I} ++ kern (size *' 0.1) ++ f {X} | |
let-inline ctx \TeXonLaTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
let fon = ctx |> set-font-size (size *' 0.8) | |
|> read-inline | |
in | |
f {\TeX;} ++ inline-skip (size *' 0.2) ++ fon {ON} ++ inline-skip (size *' 0.2) ++ f {\LaTeX;} | |
let-inline ctx \ApTeX = | |
let size = get-font-size ctx in | |
let f = read-inline ctx in | |
f {A} ++ kern (size *' 0.08) ++ f {\pTeX;} | |
let-inline ctx \DVIPDFMx = read-inline ctx {DVIPDFM${x}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment