日本人の知らないtex - texの過去・現在・未来†ich m"ochte s"u"seren...
TRANSCRIPT
-
.
.. ..
.
.
TEXTEX
Takayuki YATO
2010 10 23 TEX 2010
TEX
-
.. ?
TEX
-
TEX
-
TRIP
TEX
-
.. LATEX
pLATEX
pTEX
pdfLATEX
pdfTEX
DVI
pdfTEX
TEX
-
.. LATEX
pLATEX
pTEX
pdfLATEX
pdfTEX
DVI
pdfTEX
TEX
-
.. LATEX
pLATEX
pTEX
pdfLATEX
pdfTEX
DVI
pdfTEX
TEX
-
.. TEX .TEX..
.. ..
.
.
Donald E. Knuth
1978 TEX78SAIL 1982 TEX82 Pascal 1983 TEX82 1.0 1990 3 3.0 7 81990 9 3.1 2008 2 3.1415926
1990 9 Knuth ... ..
.
.TEX
.
.. ...
. TEX
TEX
-
.. TEX .TEX..
.. ..
.
.
Donald E. Knuth
1978 TEX78SAIL 1982 TEX82 Pascal 1983 TEX82 1.0 1990 3 3.0 7 81990 9 3.1 2008 2 3.1415926
1990 9 Knuth ... ..
.
.TEX
.
.. ...
. TEX
TEX
-
.. ...
.
. ..
.
.
TEX pdfTEX
Omega ..... ..
.
.
X ETEX
pTEX vs X ETEX...
.
. ..
.
.
X ELATEX
TEX LuaTEX
TEX
TEX
-
.. TEX
.pTEX..
.
. ..
.
.
1980 TEX1990 ?pTEX2009 8 3.1.11
.upTEX..
.
. ..
.
.
2007 2010 4 0.30
TEX
-
.. TEXnical
LATEX
.
.. ..
.
.
TEX
TEX
-
.. TEXnical
LATEX
.
.. ..
.
.
TEX
TEX
-
.. 1 ...
.
. ..
.
.
TEX pdfTEX
Omega ..... ..
.
.
X ETEX
pTEX vs X ETEX...
.
. ..
.
.
X ELATEX
TEX LuaTEX
TEX
TEX
-
.. TEX pdfTEX
TEX... ..
.
.
TEX
.
."-TEX..
.
. ..
.
.
TheNTS Team
1996 1.1 1998 2.0
.
.pdfTEX..
.
. ..
.
.
Hn Th Thnh
1997 2010 7 1.40.11
pdfTEX "-TEX
TEX
-
..
2005 Plain TEX LATEXTEX Plain TEX (tex) LATEX (latex)"-TEX Plain "-TEX (etex) "-LATEX (elatex)pdfTEX Plain pdfTEX (pdftex) pdfLATEX (pdflatex)
pdfTEXpdf-"-TEX
TEX
-
..
Plain TEX LATEXTEX Plain TEX (tex) LATEX (latex)"-TEX Plain "-TEX (etex)pdfTEX Plain pdfTEX (pdftex) pdfLATEX (pdflatex)
LATEX "-TEX pdfTEX "-TEX pdfTEX DVI
TEX
-
..
Plain TEX LATEXTEX Plain TEX (tex) LATEX (latex)"-TEX Plain "-TEX (etex)pdfTEX Plain pdfTEX (pdftex) pdfLATEX (pdflatex)
pTEX
pTEX + "-TEX "-pTEX2010 4W32TEX pTEX + pdfTEX
TEX
-
.. "-TEX
TEX-- XET
\middleD
@2
@t2
ffiE
256 32768 \count999=\numexpr1+(2+3)*4TEX \ifcsname\detokenize\unexpanded\iffontchar\unless\tracingifs\scaktokens
TEX
-
.. "-TEX
TEX-- XET
\middleD
@2
@t2
ffiE
256 32768 \count999=\numexpr1+(2+3)*4TEX \ifcsname\detokenize\unexpanded\iffontchar\unless\tracingifs\scaktokens
.
.. ..
.
.
LATEX
TEX
-
.. "- TEX "-TEX
KOMA-Script
animate
csquotes
chemfig
moderncv
ConTEXt
LATEX3 LATEX
.
.. ..
.
.
"-TEX
TEX
-
.. "- TEX "-TEX
KOMA-Script
animate
csquotes
chemfig
moderncv
ConTEXt
LATEX3 LATEX.
.. ..
.
.
"-TEX
TEX
-
.. pdfTEX
PDF TEX DVI. PDFMicrotypography
Mergin kerning Font expansion Letter spacing
\pdfsavepos TEX
-
.. PDF
.
.. ..
.
.
Microtypography.Font expansion..
.. ..
.
.
.
.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor adipisicing elit, sed do eiusmod tempor
TEX
-
.. PDF
.
.. ..
.
.
Microtypography.Font expansion..
.. ..
.
.
.
.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor adipisicing elit, sed do eiusmod tempor
TEX
-
..
LATEX ...
.
. ..
.
.
Ich mchte seren Kse!Ich m\"ochte s\"u{\ss}eren K\"ase!Ich m"ochte s"u"seren K"ase!Babel...
.
. ..
.
.
!Oqenp1 horoxo!OT2
TEX
-
..
LATEX ...
.
. ..
.
.
Ich mchte seren Kse!Ich m\"ochte s\"u{\ss}eren K\"ase!Ich m"ochte s"u"seren K"ase!Babel...
.
. ..
.
.
!Oqenp1 horoxo!OT2 .
.. ..
.
.
8 LATEX
seren
TEX
-
..
LATEX ...
.
. ..
.
.
Ich mchte seren Kse!Ich m\"ochte s\"u{\ss}eren K\"ase!Ich m"ochte s"u"seren K"ase!Babel...
.
. ..
.
.
!Oqenp1 horoxo!OT2
TEX
-
..
Latin-1 .ASCII ..
.
. ..
.
.
% in US-ASCII\documentclass{article}%\usepackage[T1]{fontenc}\usepackage{mathpazo}\usepackage[german]{babel}\begin{document}
Tsch\"u{\ss}!
\end{document}.
. Tsch!
TEX
-
..
inputenc .ASCII ..
.
. ..
.
.
% in US-ASCII\documentclass{article}%\usepackage[T1]{fontenc}\usepackage{mathpazo}\usepackage[german]{babel}\begin{document}
Tsch\"u{\ss}!
\end{document}
.Latin-1 ..
.
. ..
.
.
% in Latin-1\documentclass{article}\usepackage[latin1]{inputenc}\usepackage[T1]{fontenc}\usepackage{mathpazo}\usepackage[german]{babel}\begin{document}
Tsch!
\end{document}.
. Tsch!
TEX
-
..
UTF-8 OK.KOI8-R ..
.
. ..
.
.
% in KOI8-R\documentclass{article}\usepackage[koi8-r]{inputenc}\usepackage[T2A]{fontenc}\usepackage{tgpagella}\usepackage[russian]{babel}\begin{document}
!
\end{document}
.UTF-8 ..
.
. ..
.
.
% in UTF-8\documentclass{article}\usepackage[utf8]{inputenc}\usepackage[T2A]{fontenc}\usepackage{tgpagella}\usepackage[russian]{babel}\begin{document}
!
\end{document}.
. !
TEX
-
.. LATEX
.
.ASCII .8
. .Latin-1
FC
.KOI8-R
C4
.UTF-8
D0 B4
.ASCII
d64
.LICR .\"u .\cyrd
. .T1
FC
.T2A
E4
.OT2
64
.(O)T1
d64
.inputenc
.fontenc
TEX
-
.. Omega (): Unicode TEX
Omega 16 TEX + + .Omega ()..
.. ..
.
.
Yannis HaralambousJohn Plaice
1994 ?2002 ? 1.23
.Unicode ..
.. ..
.
.
1991 1.0 161993 UTF-8 1996 2.0 162001 3.1 162009 5.2
TEX
-
.. Omega
221023
Unicode 16
yad Yato
65536 TP ( Translation Process)
XML
tayu
yadund
TEX
-
.. Omega
2003
TEX
-
.. 2 ...
.
. ..
.
.
TEX pdfTEX
Omega ..... ..
.
.
X ETEX
pTEX vs X ETEX...
.
. ..
.
.
X ELATEX
TEX LuaTEX
TEX
TEX
-
.. X ETEX: Unicode TEX
X ETEX "-TEX + Unicode + OpenType
.X ETEX..
.. ..
.
.
Jonathan Kew
1990 TEXGX2004 4Mac 2006 4 Linux 2006 6Windows =2010 9 0.9997.4
X ETEX 1
TEX
-
.. X ETEX
.
.
praj-pramit-hdaya-stram -
TEX
-
..
% UTF-8\documentclass[a4paper]{article}\usepackage{xltxtra}\setlength{\parindent}{0pt} ..\begin{document}\fontspec[CJKShape=Traditional]{IPAexMincho} \par\fontspec[Script=Devanagari]{Chandas}{\large \par}\fontspec{TeX Gyre Termes}\textit{praj-pramit-hdaya-stram}\par\fontspec[Scale=0.9]{TeX Gyre Schola} -\par\end{document}
TEX
-
.. X ETEX
Unicode
Unicode UTF-8
OS
OpenType
.
.
..+trad
. .
.. ..
.
.
TEX
TEX
-
.. X ELATEX vs 8 LATEX
X ELATEX
.
.
English FranaisHow are you? Comment a va ?Long time no see. a fait longtemps.My hovercraft isfull of eels.
Mon aroglisseur estplein danguilles.
Babel X ELATEX Polyglossia
TEX
-
.. 8 LATEX
% UTF-8\documentclass[a4paper]{article}\usepackage[utf8]{inputenc} % UTF-8\usepackage[T1]{fontenc} % T1\renewcommand{\rmdefault}{ptm} % \rmfamilyTimes\usepackage[scaled=0.95]{helvet} % \sffamilyHelvetica\normalfont\begin{document}\begin{center}\begin{tabular}{p{7em}|p{9em}}\hline\centering\sffamily English &\centering\sffamily Franais \tabularnewline\hlineHow are you? & Comment a va\,? \\\hlineLong time no see. & a fait longtemps. \\\hlineMy hovercraft is full of eels. &Mon aroglisseur est plein d'anguilles.\\\hline
\end{tabular}\end{center}\end{document}
TEX
-
.. X ELATEX
% UTF-8\documentclass[a4paper]{article}% inputencfontenc %\renewcommand{\rmdefault}{ptm} % \rmfamilyTimes\usepackage[scaled=0.95]{helvet} % \sffamilyHelvetica\normalfont\begin{document}\begin{center}\begin{tabular}{p{7em}|p{9em}}\hline\centering\sffamily English &\centering\sffamily Franais \tabularnewline\hlineHow are you? & Comment a va\,? \\\hlineLong time no see. & a fait longtemps. \\\hlineMy hovercraft is full of eels. &Mon aroglisseur est plein d'anguilles.\\\hline
\end{tabular}\end{center}\end{document}
TEX
-
.. X ELATEX
% UTF-8\documentclass[a4paper]{article}\usepackage{xltxtra} %\renewcommand{\rmdefault}{ptm} % \rmfamilyTimes\usepackage[scaled=0.95]{helvet} % \sffamilyHelvetica\normalfont\begin{document}\begin{center}\begin{tabular}{p{7em}|p{9em}}\hline\centering\sffamily English &\centering\sffamily Franais \tabularnewline\hlineHow are you? & Comment a va\,? \\\hlineLong time no see. & a fait longtemps. \\\hlineMy hovercraft is full of eels. &Mon aroglisseur est plein d'anguilles.\\\hline
\end{tabular}\end{center}\end{document}
TEX
-
.. .8 LATEX ..
.
. ..
.
.
Computer ModernHello!\renewcommand{\rmdefault}{ptm} \rmfamily Times \renewcommand{\sfdefault}{phv} \rmfamily Helvetica \usepackage[scale=0.95]{helvet} Helvetica\usepackage{libertine} Libertine
.X ELATEX ..
.
. ..
.
.
Latin ModernNamaskra!\setmainfont{TeX Gyre Termes} \rmfamily \setsansfont{TeX Gyre Heros} \sffamily \setmonofont{TeX Gyre Cursor} \ttfamily \newfontfamily{\libertine}{Linux Libertine} {\fontspec{} } \setmainfont[Scale=0.92,Numbers=OldStyle]{TeX Gyre Pagella}
TEX Gyre Adobe 35
TEX
-
.. X ELATEX
% UTF-8\documentclass[a4paper]{article}\usepackage{xltxtra}%\setmainfont[Mapping=tex-text]{TeX Gyre Termes}\setmainfont[Scale=0.95]{TeX Gyre Heros}%\begin{document}\begin{center}\begin{tabular}{p{7em}|p{9em}}\hline\centering\sffamily English &\centering\sffamily Franais \tabularnewline\hlineHow are you? & Comment a va\,? \\\hlineLong time no see. & a fait .longtemps. \\\hlineMy hovercraft is full of eels. &Mon aroglisseur est plein d'anguilles.\\\hline
\end{tabular}\end{center}\end{document}
TEX
-
..
.
.. ..
.
.
[Mapping=tex-text]'
.
.
English FranaisHow are you? Comment a va ?Long time no see. a fait longtemps.My hovercraft isfull of eels.
Mon aroglisseur estplein danguilles.
TEX
-
.. X ETEX
\documentclass[a4paper]{article}\usepackage{xltxtra}\setmainfont{IPAMincho} % IPA\setsansfont{IPAGothic} % IPA\begin{document}\begin{center}\begin{tabular}{p{7em}|p{12em}}\hline\centering\sffamily English &\centering\sffamily \tabularnewline\hlineHow are you? & \\\hlineLong time no see. & \\\hlineMy hovercraft is full of eels. &\\\hline
\end{tabular}\end{center}\end{document}
TEX
-
..
...1
...2
.
.
English How are you? Long time nosee.
My hovercraft isfull of eels.
TEX
-
..
...1
...2
.
.
English How are you? Long time nosee.
My hovercraft isfull of eels.
TEX
-
..
...1
.
.. ..
.
.
IPAex \setmainfont[RawFeature=-palt]{IPAexMincho}
...2 TEXUnicode
.
.. ..
.
.
\XeTeXlinebreaklocale "ja"\XeTeXlinebreakskip=0pt plus 1pt\XeTeXlinebreakpenalty=0
TEX
-
..
...1
.
.. ..
.
.
IPAex \setmainfont[RawFeature=-palt]{IPAexMincho}
...2 TEXUnicode
.
.. ..
.
.
\XeTeXlinebreaklocale "ja"\XeTeXlinebreakskip=0pt plus 1pt\XeTeXlinebreakpenalty=0
TEX
-
..
\documentclass[a4paper]{article}\usepackage{xltxtra}\XeTeXlinebreaklocale "ja"\XeTeXlinebreakskip=0pt plus 1pt\XeTeXlinebreakpenalty=0\setmainfont[RawFeature=-palt]{IPAexMincho} % IPAex\setsansfont[RawFeature=-palt]{IPAexGothic} % IPAex\begin{document}\begin{center}\begin{tabular}{p{7em}|p{12em}}\hline\centering\sffamily English &\centering\sffamily \tabularnewline\hlineHow are you? & \\\hlineLong time no see. & \\\hlineMy hovercraft is full of eels. &\\\hline
\end{tabular}\end{center}\end{document}
TEX
-
..
.
.
English How are you? Long time nosee.
My hovercraft isfull of eels.
TEX
-
.. X ELATEX X ELATEX
.
. .UTF-8
C2 BC
.UTF-8
C4
.UTF-8
E0 A4 95
.UTF-8
d64
.\"u
. .EU1
00FC
.EU1
0434
.EU1
0915
.EU1
d0064
ASCII X ELATEX .
.. ..
.
.
namask\=ara\d{h} namaskra
TEX
-
.. pTEX vs X ETEXpTEXupTEX X ETEX
8JIS X 0208
Unicode
Unicode
"-TEX
"-[u]pTEX
TEX
-
.. pTEX vs X ETEXpTEXupTEX X ETEX
8JIS X 0208
Unicode
Unicode
"-TEX
"-[u]pTEX .
.
. ..
.
.
= TEX
TEX
-
.. 3 ...
.
. ..
.
.
TEX pdfTEX
Omega ..... ..
.
.
X ETEX
pTEX vs X ETEX...
.
. ..
.
.
X ELATEX
TEX LuaTEX
TEX
TEX
-
. X ELATEX ..
.
-
TEX2010TEXTEXTEXTEX2009
TEX11379TEX Q & A1
TEX TEX
1
..
.
.
. ...
.article A5IPA P
TEX
-
TEX2010TEXTEXTEXTEX2009
TEX11379TEX Q & A1
TEX TEX
1
.. .
.. ..
.
.
jsarticle pLATEX X ELATEX
.
.. ..
.
.
TEX
-
TEX2010TEXTEXTEXTEX2009
TEX11379TEX Q & A1
TEX TEX
1
.. .
.. ..
.
.
jsarticle pLATEX X ELATEX .
.. ..
.
.
TEX
-
TEX2010TEXTEXTEXTEX2009
TEX11379TEX Q & A1
TEX TEX
1
.. .
.. ..
.
.
jsarticle pLATEX X ELATEX .
.. ..
.
.
.
.. ..
.
.
JIS X 4051
TEX
-
..
JIS X 4051 .
.
1.0 em
1.0 em
1.5 em 1em =
pTEX TFM
.X ETEX ..
.. ..
.
.
TEX
xeCJK Sun Wenchangzhspacing Yin Dian
TEX
-
..
JIS X 4051 .
.
1.0 em
1.0 em
1.5 em 1em =
pTEX TFM.X ETEX ..
.. ..
.
.
TEX
xeCJK Sun Wenchangzhspacing Yin Dian
TEX
-
..
TEX
-
.. .
.
TEXhttp://zrbabbler.sp.land.to/
.
.
BXjscls BXJS ZXjatype xeCJK JIS X 4051 ZXotf AJ1 OTF X ELATEX ZXgtfont GTZXjafontBXptool
TEX
http://zrbabbler.sp.land.to/
-
TEX 2010TEX TEX TEX
TEX 2009TEX 113 79
TEX Q & A
1 TEX TEX
1
..
.
.. ..
.
.
bxjsarticle A5IPA Latin Modern
TEX
-
.. LuaTEX: TEXLuaTEX pdfTEX + Omega .Aleph@ "-TEX + Omega
..
.
. ..
.
.
Giuseppe Bilotta+ Lua+ MetaPost+ OpenTypeFontForge
.LuaTEX..
.. ..
.
.
Hans HagenHartmut HenkelTaco Hoekwater
2005 2007 0.10 2010 9 0.63.0 2012 1.00
.
.. ..
.
.
LuaTEX pdfTEX LuaTEX TEX
TEX
-
.. LuaTEX: TEXLuaTEX pdfTEX + Omega .Aleph@ "-TEX + Omega
..
.
. ..
.
.
Giuseppe Bilotta+ Lua+ MetaPost+ OpenTypeFontForge
.LuaTEX..
.. ..
.
.
Hans HagenHartmut HenkelTaco Hoekwater
2005 2007 0.10 2010 9 0.63.0 2012 1.00
.
.. ..
.
.
LuaTEX pdfTEX LuaTEX TEX
TEX
-
.. Lua LATEX
.
.
. ..
.
.
% \strReverse{}\newcommand*{\strReverse}[1]{% LaTeX\directlua{% Lualocal s = "#1"for i = s:len(), 1, -1 dotex.sprint(s:sub(i, i))
end}}
\strReverse{live saw nametag}
gateman was evil
s:reverse()
TEX
-
.. .
.
. ..
.
.
\makeatletter
\def\strReverse#1{\let\x@srtmp\@empty\x@strrev@a#1\relax}\def\x@strrev@a{\futurelet\x@srtok\x@strrev@b}\def\x@strrev@b{%
\ifcat\noexpand\x@srtok\noexpand\relax\let\x@srnext\x@strrev@e
\else\ifcat\noexpand\x@srtok\space\let\x@srnext\x@strrev@c
\else \let\x@srnext\x@strrev@d\fi\fi \x@srnext}
\expandafter\def\expandafter\x@strrev@c\space{%\edef\x@srtmp{\space\x@srtmp}\x@strrev@a}
\def\x@strrev@d#1{\edef\x@srtmp{#1\x@srtmp}\x@strrev@a}\def\x@strrev@e#1{\x@srtmp}\makeatother\strReverse{live saw nametag}
gateman was evil
TEX
TEX
-
..
The TEX language is and remains weird! Viktor Eijkhort
http://tug.org/interviews/eijkhout.html
TEX
-
..
The TEX language is and remains weird! Viktor Eijkhort
http://tug.org/interviews/eijkhout.html
TEX
-
.. Lua LATEX
.
.
Lua LATEX TEX
16
100
RDBS
LATEX
Lua
TEX
-
.. LuaTEX
TEX
TEX
-
.. X ETEX vs LuaTEX
Jonathan Kew
.X ETEX..
.. ..
.
.
.LuaTEX..
.. ..
.
.
Jonathan Kew, Whats new in the X ETEX world?, BachoTEX 2008
TEX
-
.. TEXTEX TEX.
.. ..
.
.
TEX"-TEX
pdfTEX
X ETEXLuaTEX
pTEX
"-pTEX
pdf-pTEX?
XE-pTEX??
Lua-pTEX??.
.. ..
.
.
X ETEXLuaTEX pTEX
TEX
-
.. TEXTEX TEX.
.. ..
.
.
TEX"-TEX
pdfTEX
X ETEXLuaTEX
pTEX
"-pTEX
pdf-pTEX?
XE-pTEX??Lua-pTEX??
.
.. ..
.
.
X ETEXLuaTEX pTEX
TEX
-
.. .
.. ..
.
.
LuaTEX (u)pTEX
(u)pLATEX
% UTF-8\documentclass[a4paper,12pt]{luajsarticle}\usepackage{otf} % pLaTeX\begin{document}% pLaTeX\gtfamily\ebseries \CID{7652}\par % LuaTeX$$ = \directlua{ tex.print(math.pi) }\end{document}.
.
= 3.1415926535898
TEX
-
.. TEX
TEX
-
.. TEX
.
.
HappyTEXing!
TEX
-
..
.
.. ..
.
.
TEX
"-TEX
pdfTEX
Omega
Aleph
X ETEX
LuaTEX
pTEX
"-pTEX
upTEX
"-upTEX
TEX
-
..
.
.. ..
.
.
TEX
"-TEX
pdfTEX
Omega
Aleph
X ETEX
LuaTEX
pTEX
"-pTEX
upTEX
"-upTEX
TEX
-
Thank you!!
!!
!
Obrigado!
Mulumesc!:!Dzikuj!
!