SlideShare a Scribd company logo
1 of 16
Download to read offline
プログラミングTEX
寝る子(neruko3114)
2014/03/15
@長岡 IT 開発者勉強会 #36
寝る子(neruko3114) プログラミング TEX
自己紹介
氏名:田村英継(= 寝る子)
Twitter:neruko3114
長岡高専専攻科(3 月に卒業)
C/Java を授業で触った程度
寝る子(neruko3114) プログラミング TEX
参加の経緯
寝る子(neruko3114) プログラミング TEX
TEXとは
TEX = 文書組版ソフト(システム)
特徴
OS に依存しない
フリーでオープンソース
数式が綺麗
F(s) =
∫ ∞
0
f (t)e−st
dt
寝る子(neruko3114) プログラミング TEX
TEXでプログラミング?
TEXにできること(一部)
変数(カウンタ)の定義
四則演算
ループ構文
条件分岐
寝る子(neruko3114) プログラミング TEX
TEXでプログラミング
例:剰余を求める“マクロ”
newcountxx@a
newcountxx@res@count
defxx@modulo#1#2{%
xx@a=#1relax
dividexx@a#2relax
multiplyxx@a-#2relax
advancexx@a#1relax
xx@res@count=xx@a
}
寝る子(neruko3114) プログラミング TEX
TEXでプログラミング
例:階乗を求める“マクロ”
newcount@m
newcount@k
deffactorial#1{%
@m = 1 relax
@k = 1 relax
@whilenum @m < #1 do {%
advance @m 1 relax
multiply @k @m relax
}
the@k
}
寝る子(neruko3114) プログラミング TEX
※他のプログラミング言語と色々異なる
寝る子(neruko3114) プログラミング TEX
TEX言語の特徴
フリーフォーマットではない
ローカル変数はない
「関数」はない
寝る子(neruko3114) プログラミング TEX
TEX言語の特徴
フリーフォーマットではない
ローカル変数はない
「関数」はない
寝る子(neruko3114) プログラミング TEX
TEX ̸= フリーフォーマット
フリーフォーマット
空白文字,タブ,改行文字はどこでもよい
(プログラムの動作に影響はない)
TEXの場合
空白文字の扱いについて規則がある
「文書」と「プログラム」で区別しない
空白文字の扱いに要注意
寝る子(neruko3114) プログラミング TEX
TEX言語の特徴
フリーフォーマットではない
ローカル変数はない
「関数」はない
寝る子(neruko3114) プログラミング TEX
ローカル変数はない
ローカル変数
ブロック内でのみ有効
ブロック外では使えない
TEXの場合
ローカル変数はない
宣言したら全てグローバル変数
xx@a など,識別子をつけて
名前が被らないように工夫する必要
寝る子(neruko3114) プログラミング TEX
TEX言語の特徴
フリーフォーマットではない
ローカル変数はない
「関数」はない
寝る子(neruko3114) プログラミング TEX
「関数」はない
気をつけたいこと
TEX に「関数」と呼ばれるものはない
でも,マクロならある
関数っぽいマクロも作れる
TEXでプログラミングとは?
マクロを作ること(たぶん)
寝る子(neruko3114) プログラミング TEX
まとめ
Q. TEX って何?
A. 組版処理ソフト
Q. TEX でプログラミングって?
A. できるけど他の言語と大きく異なる
実行制御=マクロの展開の制御
Q. 結局のところ?
A. TEX でもプログラミングできます
ただしマイナー,かつ闇っぽい? 1
1
Donald E. Knuth:“The TEXbook” Appendix D Dirty Tricks
寝る子(neruko3114) プログラミング TEX

More Related Content

What's hot

TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築Hirokatsu Kataoka
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)Etsuji Nakai
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstmtak9029
 
Lt7 TensorFlow
Lt7 TensorFlowLt7 TensorFlow
Lt7 TensorFlowGIG inc.
 
Icml読み会 deep speech2
Icml読み会 deep speech2Icml読み会 deep speech2
Icml読み会 deep speech2Jiro Nishitoba
 
ChainerによるRNN翻訳モデルの実装+@
ChainerによるRNN翻訳モデルの実装+@ChainerによるRNN翻訳モデルの実装+@
ChainerによるRNN翻訳モデルの実装+@Yusuke Oda
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習Mitsuhisa Ohta
 

What's hot (9)

TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築
 
Tfug#4
Tfug#4Tfug#4
Tfug#4
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
TensorFlow 入門
TensorFlow 入門TensorFlow 入門
TensorFlow 入門
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
 
Lt7 TensorFlow
Lt7 TensorFlowLt7 TensorFlow
Lt7 TensorFlow
 
Icml読み会 deep speech2
Icml読み会 deep speech2Icml読み会 deep speech2
Icml読み会 deep speech2
 
ChainerによるRNN翻訳モデルの実装+@
ChainerによるRNN翻訳モデルの実装+@ChainerによるRNN翻訳モデルの実装+@
ChainerによるRNN翻訳モデルの実装+@
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 

Viewers also liked

TEX マクロプログラミング
TEX マクロプログラミングTEX マクロプログラミング
TEX マクロプログラミングKoh Uehara
 
tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)TeXmedicine
 
イテレーティブでインクリメンタルな技術書の作り方
イテレーティブでインクリメンタルな技術書の作り方イテレーティブでインクリメンタルな技術書の作り方
イテレーティブでインクリメンタルな技術書の作り方Keiichiro Shikano
 
Development of TeXShop - The Past and the Future (TUG 2013)
Development of TeXShop - The Past and the Future (TUG 2013)Development of TeXShop - The Past and the Future (TUG 2013)
Development of TeXShop - The Past and the Future (TUG 2013)Yusuke Terada
 
The history of TeX and its recent advances
The history of TeX and its recent advancesThe history of TeX and its recent advances
The history of TeX and its recent advancesYusuke Terada
 
TeX in educational institutes (TUG 2013)
TeX in educational institutes (TUG 2013)TeX in educational institutes (TUG 2013)
TeX in educational institutes (TUG 2013)Yasuhide Minoda
 
第36回NDS 発表資料 ちょこっとpython
第36回NDS 発表資料 ちょこっとpython第36回NDS 発表資料 ちょこっとpython
第36回NDS 発表資料 ちょこっとpythoncivic Sasaki
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナドYoshihiro Mizoguchi
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門Eita Sugimoto
 
Macrodown -MLが使えるML-
Macrodown -MLが使えるML-Macrodown -MLが使えるML-
Macrodown -MLが使えるML-T. Suwa
 
Lyxを用いた文書作成
Lyxを用いた文書作成Lyxを用いた文書作成
Lyxを用いた文書作成Yu Sato
 
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -Shoko Tanaka
 
一般的なチートの手法と対策について
一般的なチートの手法と対策について一般的なチートの手法と対策について
一般的なチートの手法と対策について優介 黒河
 

Viewers also liked (15)

TEX マクロプログラミング
TEX マクロプログラミングTEX マクロプログラミング
TEX マクロプログラミング
 
tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)
 
イテレーティブでインクリメンタルな技術書の作り方
イテレーティブでインクリメンタルな技術書の作り方イテレーティブでインクリメンタルな技術書の作り方
イテレーティブでインクリメンタルな技術書の作り方
 
Development of TeXShop - The Past and the Future (TUG 2013)
Development of TeXShop - The Past and the Future (TUG 2013)Development of TeXShop - The Past and the Future (TUG 2013)
Development of TeXShop - The Past and the Future (TUG 2013)
 
The history of TeX and its recent advances
The history of TeX and its recent advancesThe history of TeX and its recent advances
The history of TeX and its recent advances
 
TeX in educational institutes (TUG 2013)
TeX in educational institutes (TUG 2013)TeX in educational institutes (TUG 2013)
TeX in educational institutes (TUG 2013)
 
第36回NDS 発表資料 ちょこっとpython
第36回NDS 発表資料 ちょこっとpython第36回NDS 発表資料 ちょこっとpython
第36回NDS 発表資料 ちょこっとpython
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
NDS36 Kotlin Cute
NDS36 Kotlin CuteNDS36 Kotlin Cute
NDS36 Kotlin Cute
 
Macrodown -MLが使えるML-
Macrodown -MLが使えるML-Macrodown -MLが使えるML-
Macrodown -MLが使えるML-
 
Lyxを用いた文書作成
Lyxを用いた文書作成Lyxを用いた文書作成
Lyxを用いた文書作成
 
NDS36 Java7&Java8
NDS36 Java7&Java8NDS36 Java7&Java8
NDS36 Java7&Java8
 
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
 
一般的なチートの手法と対策について
一般的なチートの手法と対策について一般的なチートの手法と対策について
一般的なチートの手法と対策について
 

Similar to プログラミングTeX

Mesh tensorflow
Mesh tensorflowMesh tensorflow
Mesh tensorflowkuroko
 
Tezos and its formal verification (Japanese)
Tezos and its formal verification (Japanese)Tezos and its formal verification (Japanese)
Tezos and its formal verification (Japanese)Jun Furuse
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことRetrieva inc.
 
TensorFlowの使い方(in Japanese)
TensorFlowの使い方(in Japanese)TensorFlowの使い方(in Japanese)
TensorFlowの使い方(in Japanese)Toshihiko Yamakami
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことJiro Nishitoba
 
ジェネリクスの概論とか
ジェネリクスの概論とかジェネリクスの概論とか
ジェネリクスの概論とかnagise
 
dl-with-python01_handout
dl-with-python01_handoutdl-with-python01_handout
dl-with-python01_handoutShin Asakawa
 
Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発Nagato Kasaki
 
ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」Masaru Nagaku
 

Similar to プログラミングTeX (9)

Mesh tensorflow
Mesh tensorflowMesh tensorflow
Mesh tensorflow
 
Tezos and its formal verification (Japanese)
Tezos and its formal verification (Japanese)Tezos and its formal verification (Japanese)
Tezos and its formal verification (Japanese)
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
TensorFlowの使い方(in Japanese)
TensorFlowの使い方(in Japanese)TensorFlowの使い方(in Japanese)
TensorFlowの使い方(in Japanese)
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 
ジェネリクスの概論とか
ジェネリクスの概論とかジェネリクスの概論とか
ジェネリクスの概論とか
 
dl-with-python01_handout
dl-with-python01_handoutdl-with-python01_handout
dl-with-python01_handout
 
Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発
 
ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」
 

Recently uploaded

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (9)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

プログラミングTeX