Skip to content

Instantly share code, notes, and snippets.

@puripuri2100
Last active December 22, 2018 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save puripuri2100/9143639ef19c54abf5ac629c940dbd04 to your computer and use it in GitHub Desktop.
Save puripuri2100/9143639ef19c54abf5ac629c940dbd04 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@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;
]
| _ -> []
)
| _ -> []
));
}
>
@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