Skip to content

Instantly share code, notes, and snippets.

@zr-tex8r
Last active November 11, 2023 04:38
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 zr-tex8r/281a2191373d0a11bbfe340e02a7596c to your computer and use it in GitHub Desktop.
Save zr-tex8r/281a2191373d0a11bbfe340e02a7596c to your computer and use it in GitHub Desktop.
sc1Typst ― もっともっと画期的なTypst用文書テンプレート

sc1Typst ― もっともっと画期的なTypst用文書テンプレート

画期的なTeXフォーマットである1TeXのコンセプトを踏襲しつつ、さらに画期的になるように抜本的に仕様を見直して作製された、Typst用の文書テンプレート。

前提環境

インストール

  • このGistのsc1typst.typを“Typstが読める”場所に置く。
    ※文書ファイルと同じディレクトリでかまわない。
  • HaranoAjiMincho-Regular.otfを“Typstがフォントとして認識できる”場所に置く。
    typst compile --font-path ‹パス›でフォント配置パスを指定できる。
    ※公式のWebアプリではHaranoAjiMincho-Regular.otfは既定で使えるようになっていえる。

文書ファイルの書き方

  • 1行目は必ず以下のように書く。

    #import "sc1typst.typ":*; #show:_1
    
  • 2行目以降に出力のマフラーの色の情報を文字「1」の列として書く。マフラーの色をRGB空間で表した上で以下のように書く。
    ※「1」がゼロ個になるのを避けるため、書くべき「1」の個数がRGB値よりも1だけ多くなっているのことに注意。

    • 2行目には「R値+1」個の「1」を書く。
    • 3行目には「G値+1」個の「1」を書く。
    • 4行目には「B値+1」個の「1」を書く。
  • 「1」の列の行に(末尾の改行以外の)空白文字を書いてはならない。空白文字でも「1」でもない文字は無視される。

  • 5行目以降にさらに「1」の列を書くことによりページ数を増やすことができる。2行目以降の3行分の「1」の行が1つのマフラー色に対応することになる。
    ※「1」の行の個数は3の倍数でなければならない。

#import "sc1typst.typ":*; #show:_1
1
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111
#(_111111111111111111111111111111111111111111111111111111111111111111111111
=>{})[11111!11l11I11l|111!!11l1I11l11!|11{|111111I11|11Il|1I1111111]#let(_1
)=((I1,I,l1,l11,l1I,l111,lI,l1l,lI1)=>{I="\"";l1=".";l1I={I;l1;l1l};l11={I;
l1l;l1I};I1.ll=l111(l11+"(1)");I1.I1=l111(l11+"(1-1)");l11={I;lI1;l1I}//1|I
I1.l1=l111(l11+"(1)");I1.Il1=l111(l11+"(11)");l1l="[#(111111111/(11-1-1))]"
l1l=l111({l1l;l1;I1.ll;I1.l1;I1.Il1;I1.ll});l11={I;l1l;l1I};I1.l11=l111(l11
+"(1)");I1.l1l=l111(l11+"(1+1)");l11={I;"111111";l1l;l1I;};I1.ll1=l111(l11+
"(11)");I1.l1I=l111(l11+"(11+1)");lI={"\\";lI;"{";};l11="}";I1.I1l=l111({I;
lI;I1.l1I;I1.l1l;l11;I});lI1=")=>";I1.I11=l111({I;lI;I1.l1I;I1.l11;l11;I;})
I1.l1111={I1.I1l;I1.ll;I1.I11};l1l=l111({I;I1.l1;lI;I1.ll1;I1.l1;l11;I})//I
I1.l111=l111("(I"+lI1+I1.l1111+"(I).l"+l1l+"()");l1l=l111({I;lI;I1.ll1//1l1
I1.l11;l11;I1.I1;I1.I1l;I1.l1;I});I1.l11l=l111({"(I";lI1;I1.l1111;"(I,";l1l
":1";I1.ll1;")"});l11=(l1)=>l111({I;lI;(I1.l11l)(l1);l11;I;});l11=(I)=>((l1
)=>l11(I+(I1.l111)(l1)));I=111+1+1+1;l1l=l11(I);I+=1+1-11;l1I=l11(I);I+=(1+
1-11);l11=l11(I);I1.l1l=l1I(111111);I1.l11=l11(+111111111);I1.l1l1=(l111)({
I1.l1111;".";l11(111111);I1.I11;I1.l1l;l1I(+1111);"-";l1l(+111);l1I(+11111)
I1.l11;l11(111);I1.l1l;l11(1111);I1.l1});I1.l1l11=l111({"(l1,lI)=>";I1.l11;
l1I(11111);I1.ll;"(l1.";l1I(1111111);I1.l1l;l1l(1);I1.l11;l1l(11);I1.l11//1
I1.l1l;l1I(+11111);"(\"!\"+lI.";I1.ll;I1.l1;I1.Il1;I1.ll;")/";I1.l1I;")";})
I=l111({"(l1,lI)=>l1.";I1.I11;I1.l1;l1I(+1111111);"l";l11(1);l11(111);I1.l1
"(";I1.I11;I1.l1;l11(1111111);I1.l1;I1.Il1;"(\"(1.|I)";l1;l1;"..\"),lI)"});
I1.l11l1=I;l11=111+1+1+111;l1I=-(I1.l111)(1111111)+l11;I={""};l1l={"!"*l11;
"!I111!l!I|111!!I11!!l!I11lI!!I1I1Il!I1I1l!!I1Il1l!I11I!!!I1lI1l!I1ll1!!I";
"11lll!I11!l!!Il111l!I11l!!!II111l!I1l1l!!I1111l!I111I!!I111ll!I111|!!I11";
"I1l!I11l1!!I11|1l!I1I11!!I1l11l!I1|11!!I!l11l!I1!l1!!I1l1!l!I11Il!!Il11!l"
I;"!"*l1I;"!I1l1Il!Il1l1!!I1I1!l!11111l!11l11!!1!l111!1I1111!111111!111l1";
"!!1111l!!111I11!111l11!111I1l!1l111!!11I111!11!l11!11111I!1111l1!111!l1!1"
I;"11l1I!1l1111!1111I1!11111!!11l111!1111!l!111ll1!1111!!!1111ll!111l1l";I}
l1l=(l1)=>(I1.l1l1)((I1.l1l11)(l1l,l1));l11=(I)=>(I1.l11l1)(I,l1l);l1I={I;I
"11l11!I11IlIl11!{11I11111111111111!(111l1!Il11111111!Il11111l111Il111111l"
"1l)I11Il(111l1!11111l11I1111111I1111111Il111I1111Il111I1111Il111I1111);11"
I;"I11111111111111!I111!1111I1(1111!l)I11Il{111l11111l1!I111!1111!lI11IlI";
"11Il111l1!{111!l111111l11111I111l111!l111(I11!!11l11!11111l1I1111I111!111"
"l1111111I111!l111l11111111!I11!!)};1111!l};11111!I11Il111l1!1111l11l1111I"
"111!111111I111!111l1111111II111!1111I1(11l11!II11111111l11111!(I11!!1!l11"
"1111I11111l1111I1111I11111l111111111111111II11!!Il1111I1111111111111l1!11"
I;"111l11l11111I11111111!:111l1!)){111111II11111111l11111!(I11!!11111!1111"
"111111!!11111!I11!!Il1111I1111111111111l1!11111l11l11111I11111111!:I11!!I"
"11!!)II1111111I1111!l111I111111l1111111!(I11!!I111!I11!!)}II111111l1!111l"
"1111I11111111!1111111l1111(111111I11IlIl11!111111I|111I11IlI11!!I11!!)II1"
"1111!l1111111l111!l1(111111I11IlIl11!1!l11111111l11I1111!l111II1111!l1111"
I;"1I11111111l11!l11111!l1(111111II11111!l1111111l11111!1!l111111I1111111";
"11111I1(I11!!I111II11!!)II11111I11111111111111I()I11l!I11!lI111IIl111I11";
"11Il111I111lI11l1I11l1));11l111I11Il111l1111111I11111!(11111!II11111I1111"
I;"1111111111I()/I111|);111l1lI11Il1111I1(11l111Il11!I1111I111!11111l1111";
"1I1I1111I111!11l111I11llI111|I11IlI11Il11111!II11111I11111111111111I());1"
"1I11111111111111!I111!111!l1I11Il(((I1I11I11|1I1|11Il111I111|I1I11I111I)I"
"l111(I11l!I11l1Il111I11l!I1I11)Il111(I11l1Il111I1l11))Il111((I1I11I1I11I1"
"11IIl111I111|I1|11I1l11)Il111(I111|Il111I11l!I111II111I)Il111(I11l!I11I1I"
"l111I111II11|1))Il111((I1I11I11l1I111IIl111I11I1I11I1I11l1)Il111(I1I11Il1"
"11I11l!I111II111l)Il111(I11l!I111|Il111I11|1))Il111((I1I11I111|I1l11Il111"
"I11I1I11l1I111I)Il111(I11l1Il111I111l)Il111(I11l!I111lI111IIl111I11l!I1l1"
"1))Il111((I11|1I1l11I1|11Il111I11I1I1111I11|1)Il111(I111II1l11Il111I111II"
"111|)Il111(I11l!I111|I11|1Il111I11l!I111lI11|1))Il111((I11l1I111lI111lIl1"
"11I111|I11l1I11l1)Il111(I1I11I11|1Il111I1111)Il111(I11l!I1|11I1111Il111I1"
"111))Il111((I111|I111II111IIl111I11I1I1111I1|11)Il111(I11l1I111lIl111I11l"
I;"!I111|I11l1)Il111(I11l!I111lI1111Il111I111II11I1))Il111((I111lI11l1I11l"
"1Il111I11I1I11l1I111|)Il111(I111lI11l1Il111I11l!I11I1)Il111(I11l!I1I11Il1"
I;"11I111I))Il111((I111lI11I1I1111Il111I11I1I11I1I1111)Il111(I11I1Il111I1";
"l11)Il111(I11l!I11|1Il111I11l!I111II111l))Il111((I111lI111lI111lIl111I111"
"|I1|11I11|1)Il111(I11l1Il111I111II1I11)Il111(I11l!I11l1Il111I11l!I111II1I"
"11))Il111((I111lI111|I111lIl111I111|I11|1I11l1)Il111(I11l!I111II1111Il111"
"I1|11)Il111(I11|1Il111I11l!I11|1))Il111((I111lI11l1I111IIl111I111|I11I1I1"
I;"l11)Il111(I11l!I1I11Il111I11l1)Il111(I11|1I11l1Il111I11l!I11l1I111l))I";
"l111((I11l1I111lI1I11Il111I111lI1I11I111I)Il111(I11l!I111II111II111lIl111"
"I11l!I111|)Il111(I111lI11l1Il111I1111))Il111((I11l1I1|11I1I11Il111I111lI";
"1l11I1111)Il111(I11l!I111II11I1Il111I11l!I111l)Il111(I111II11I1Il111I111l"
"))Il111((I11|1I111lI111lIl111I111lI1I11I1111)Il111(I11l!I1I11Il111I111II1"
"1|1)Il111(I1I11Il111I11l!I111II11l1))Il111((I11|1I11I1I111|Il111I111lI11";
I;"11I11|1)Il111(I11l!I11l1Il111I111lI1111)Il111(I11l1Il111I11l!I111II1|11"
"))Il111((I11|1I1I11I111lIl111I111II1l11I1|11)Il111(I11l!I111II11I1Il111I1"
I;"1l!I11l1)Il111(I111lI11l1Il111I111II1111))Il111((I1I11I11I1I1l11Il111I1"
"11lI111lI1|11)Il111(I11l!I111II11|1Il111I11l!I111II111l)Il111(I111II111II"
I;"l111I1|11))Il111((I1I11I11l1I1I11Il111I111lI11|1I1111)Il111(I11l1Il111I"
"11l!I111II11|1)Il111(I11l!I1I11Il111I111lI11I1))Il111((I1I11I111|I11I1Il";
I;"111I111|I111II1l11)Il111(I11l1Il111I11l!I111II11I1)Il111(I11l!I11I1Il11"
"1I111II1111))Il111((I1I11I111|I1I11Il111I111|I111|I1I11)Il111(I11l!I11l1";
"Il111I11l!I11I1)Il111(I111|Il111I111|))Il111((I1I11I11l1I111lIl111I111|I1"
I;"1l1I111l)Il111(I11l!I11|1Il111I11l!I1I11)Il111(I11|1Il111I11|1))Il111)I"
"I11111!l1111111l111!l1(1!l111I11IlIl11!1!l111II11111!l1111111l111!l1(((11"
"11!!Il1111111ll))I11IlIl11!(1111!!I11llII111I1111I1111I111I11111111!l11I";
I;"l1111111llI11llI11l!II111I1111I1111I111I11111111!l11)));1111I1111111111"
"11!I111!111!l111111l1111l!111111(111ll1111l111I111111111!111I11:I111II111"
"1I1111111!l111111!Il111111I11111111111l111111l!111I1111111!:I111II1111I1";
I;"111111!l111111!);1111I111111111111!I111!11111!1111111111!!11111!(1111I1"
I;"111l11111l1l111111:I1I11I11l1111!l111111!Il111111l1!1111l111111I11111!";
":I11!!\11l111{I11I1I1l11}11111l1l111111111l11111I1111l1I111!\11l111{I11I1"
"I111I}111I1l111l11I111!\11l111{I11I11I1111}111l1111111I1!l111111I111111l";
"1I11!!);111l1!1111l11l1111I111!111l11I111!111l1111111II111!1l111111111l11"
I;"111I1111l!111111(11l111){111l1lI11Il1l11111111l!11l11!(11111!II1111111";
"1l11111!(111l11I11llI111|)Il11111111!II11111111l11111!(111l11I11llI111|I1"
"1!lI111I)Il11111111!II11111111l11111!(111l11I11llI111|I11!lI111l));111l11"
"111l1!I111!111l11Il11!I1111{111!l111111l1111l!11111111l11!1l1111111111111"
I;"11l1l111!()};1111!l(I111I111l1!1l1111);11l11!1111l11111!!(111ll1111l111"
"I111111111!111I11:I1111111!l111111!Il111[#I11!!\11l111{I111lI11|1I1111I1";
I;"11|}I11!!]);11l11!1111l11111!!(111ll1111l111I111111111!111I11:I111I1111"
"1111!l11Il111111!l111111l11111!111I11(111l1!111l1111I11111I111:111l1lIl11"
I;"11111I111111!1l11111111l11l111!111111:111l1lI11!lII111I1111I1111I11I11";
"1111111!l11Il1111!l11111I1111111l11111I11111111I1111:11111!1l111111l11111"
"1111Il111II111II111111!l1));1111!l(I111I111l1!1l1111)}}";};l111(l11(l1I))
})((:),1,11,1,[11|I11l11|11)111],eval,"u","at","[e|11!1!111x(");#(I11=>{})(
.1111111111111111111111111111111111111111111111111111111111111111111111111)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment