画期的なTeXフォーマットである[1TeX]のコンセプトを踏襲しつつ、さらに画期的になるように抜本的に仕様を見直して作製された、[Typst]用の文書テンプレート。
- Typst: 0.8.0~0.9.0版
- [原ノ味フォント][haranoaji]
// \begingroup \catcode`\#=12 | |
#let s = ``` | |
\endgroup \newdimen\pwd \newdimen\pht | |
\pwd=160bp \pht=90bp | |
\ifnum\ifx\pdfoutput\unDef0\else\pdfoutput\fi>0 | |
\pdfpagewidth=\pwd \pdfpageheight=\pht \let\os\relax | |
\else \def\os{\special{papersize=\the\pwd,\the\pht}}\fi | |
\shipout\vbox to\pht{\os \font\ff=cmr10 at 36bp \vskip-1inplus1fil | |
\moveleft1in\hbox to\pwd{\hfil\ff \TeX!!\hfil}\vskip1inplus1fil} | |
\output{\setbox0\box255\deadcycles=0}\bye |
% upLaTeX+dvipdfmx用の横組みの文書の例 | |
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle} | |
\usepackage{schira} | |
\begin{document} | |
吾輩は{\schira}である。 | |
意味はまだない。 | |
\end{document} |
% bxdpx-tchack.sty | |
\NeedsTeXFormat{LaTeX2e} | |
\ProvidesPackage{bxdpx-tchack}[2023/07/01 v0.1] | |
\def\bxqcx@pkgname{bxdpx-tchack} | |
\ifx\currentgrouplevel\@undefined | |
\PackageError\bxqcx@pkgname{e-TeX extension not supported}\@ehc | |
\expandafter\endgroup\fi\relax | |
\AtBeginDocument{% | |
\def\bxqcx@org@set@color{\special{color pop}} | |
\ifx\bxqcx@org@set@color\reset@color |
#import "zrsimple.typ" | |
#show: zrsimple.doc.with( | |
paper: "a5", | |
title: "NabeAzz with Typst", | |
author: "ZR" | |
) | |
#let aho-font = "Allura" | |
#let nabeazz(lmt) = { |
#import "zrjasimple.typ" | |
#show: zrjasimple.doc.with( | |
title: "Typst でドドスコしてみた", | |
author: "某 ZR" | |
) | |
// ddsk(seed)は, 乱数種を seed としたときの | |
// "ドドスコ問題"の出力の文字列. | |
#let ddsk(seed) = { |
#let doc(title: "", author: "", body) = { | |
set document(author: author, title: "☃") | |
set page(paper: "a5", numbering: none) | |
set text(size: 320pt) | |
v(2fr) | |
align(center)[#emoji.snowman.snow] | |
v(3fr) | |
} |
% LuaLaTeX文書; 文字コードはUTF-8 | |
\documentclass[a4paper]{ltjsarticle} | |
\usepackage[noto-jp]{luatexja-preset} | |
% 欧文はLatin Modernのまま | |
\usepackage{newunicodechar,luacode} | |
%↓入力中のU+FFFDを一旦U+F8FDに置き換える | |
\begin{luacode*} | |
luatexbase.add_to_callback('process_input_buffer', function (s) | |
if s:match('\xef\xbf\xbd') then | |
return s:gsub('\xef\xbf\xbd', '\xef\xa3\xbd') |