Skip to content

Instantly share code, notes, and snippets.

💭
I may be slow to respond.

keiichiro shikano k16shikano

💭
I may be slow to respond.
Block or report user

Report or block k16shikano

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@k16shikano
k16shikano / replace-char.tex
Last active Jun 6, 2019
platexで文字の置換をexpl3でやる
View replace-char.tex
% platexで文字の置換 https://ja.stackoverflow.com/questions/53898/platex%E3%81%A7%E6%96%87%E5%AD%97%E3%81%AE%E7%BD%AE%E6%8F%9B をexpl3でやってみる。
% おそらくenvironの制限で、この書き方だとinstead環境のネストには対応していない。
% xparseの新しい引数指定オプションbを使うと環境の本体がとれて、これだとうまくいくかもしれない。
\documentclass[uplatex]{jsarticle}
\usepackage{xparse}
\usepackage{environ}
\ExplSyntaxOn
@k16shikano
k16shikano / coroutine-talk.md
Last active Jun 5, 2019
コルーチン座談会の録音を聴くときの補足gist
View coroutine-talk.md

https://randomfacts.club/2 から文脈を拾い起してみたもの。書き起こしではないので、鹿野の勘違いなどによる間違いが含まれている可能性があります。

  • 細切れにするのって、ある種のCPS変換ではないのでしょうか(はまじさん)
  • Pythonで「awaitメソッドを細切れにする」のは、継続渡し形式に変換しているのと同じでは、という質問(鹿野)
  • やっていることはCPS変換そのものだと思うが、「CPS変換」と呼ぶのが憚られて、何か別の名前があるのではないかと考えた(もり)
  • 実際、質問で「ある種の」ってつけたのは、本当の継続ではない、つまりスタックっぽくないと思ったから(はまじ)
  • この場合、CPS変換で渡される継続は、スケジューラに相当するのかな(まめ)
  • コンパイラ視点だと、巨大なswitch文が作られていて、awaitを呼び出した単位で分かれている。CPS変換では、それぞれの関数を独立して捉えることになる。確かに、同じコンテキストを共有しているという意味ではCPSそのものだなと思った(もり)
  • RubyのiteratorもPythonのgeneratorもコルーチンっぽいが、それはあってる?(κeen)
  • Pythonのgeneratorは、常にスタックがあって、実行が止まっているので、対称コルーチンではない。(もり)
@k16shikano
k16shikano / intro-to-modern-tex.md
Last active Oct 15, 2019
IIJセミナー2019年5月21日
View intro-to-modern-tex.md

狭義のTeXと広義のTeX、それぞれの進化

  • TeXの登場は1978年で、かなり古いアプリケーション
  • クヌースが開発を凍結した年でいっても1990年なので、やはりとても古い
  • 「それから何か進歩しているの?」←当然の疑問
  • 「そんなに古いソフトだから現代のコンピューター環境にそぐわない」←どこまで本当?

今日の話の結論

細かい話は「日本人の知らないTeX」(八登崇之さんの2010年の発表)にすべて書いてある。

View breakablett.tex
\def\seqinsert{\ifmmode\allowbreak\else\hspace{0pt plus 0.02em}\fi}
\def\seqsplit#1{\SQSPL@scan#1\SQSPL@end}
\def\SQSPL@scan{\futurelet\SQSPL@next\SQSPL@scani}
\def\SQSPL@scani#1{%
\ifx \SQSPL@end \SQSPL@next \def\SQSPL@process{\@gobble}%
\else \ifx \@sptoken\SQSPL@next \def\SQSPL@process{\SQSPL@sp@doprocess}%
\else \def\SQSPL@process{\SQSPL@doprocess}\fi\fi%
\SQSPL@process{#1}}
\def\SQSPL@doprocess#1{#1\SQSPL@insert}
\def\SQSPL@sp@doprocess{◇\SQSPL@scan}
View evolvtree.tex
\documentclass[uplatex]{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage[twitter]{coloremoji}
\renewcommand{\coloremojidir}{./emoji_images/}
\DeclareKanjiFamily{JY2}{emoji}{}
\DeclareKanjiFamily{JT2}{emoji}{}
@k16shikano
k16shikano / result.png
Last active Nov 18, 2018
TeXでさくらんぼ計算
View gist:9b09c54e0d6490b82625fdef2ea212dd
%!
<< /PageSize [520 520] >> setpagedevice
/setrandcolor {
/m exch .1 add def
/r1 {rand 5 mod 1 div m add} def
/r2 {rand 3 mod 3 div m add} def
/r3 {rand 3 mod 3 div m add} def
r1 r2 r3 setrgbcolor
} def
View zundoko.tex
\documentclass[dvipdfmx]{jsarticle}
\usepackage{xcolor}
\usepackage[noalphabet]{pxchfon}
\setminchofont{Oradano.ttf}
\usepackage[first=1, last=3]{lcg}
\makeatletter
\newcount\LastFive
@k16shikano
k16shikano / torikae.tex
Last active Aug 29, 2015
TeXマクロでオプション引数っぽいやつ
View torikae.tex
\newtoks\mytok
\def\torikae#1{\global\mytok\expandafter{#1}\futurelet\cs\dotorikae}
\def\dotorikae{\ifx\cs{\iffalse}\fi
\let\next\getoptional
\else
\let\next\relax
\the\mytok
\fi
\next}
\def\getoptional#1{%
@k16shikano
k16shikano / gist:faa43d2b3963b1202fa9
Last active Aug 29, 2015
HXTでbodyタグだけテキストを書き換え
View gist:faa43d2b3963b1202fa9
{-# LANGUAGE Arrows, FlexibleContexts #-}
import Text.XML.HXT.Core
import Text.XML.HXT.Arrow.XmlArrow
main :: IO [String]
main = do
runX (readString [ ] "<html><head>foo</head><body><p>bar</p></body></html>"
>>>
processBottomUp
(processBottomUp
You can’t perform that action at this time.