Development of 
TeXShop 
- The Past and the Future - 
Yusuke Terada 
Tetsuryokukai (鉄緑会)
Summary 
1. The history of TeXShop! 
2. TeXShop’s features provided for editing 
Japanese documents! 
3. The future of TeXShop
What is TeXShop? 
• TeX editor and previewer for Mac OS X! 
• Open source software (GPL)! 
• Developed by Richard Koch
TeXShop 
Source Window Preview Window
Command Completion 
Templates 
AppleScript Support Macros 
Resume 
SyncTeX 
Matrix Input Panel 
Automatic Saving 
Versions 
Key Bindings 
Symbol Input Panel 
Syntax Coloring 
Spell Checking 
Unicode Normalization 
Multi-Display Support 
Split Window Place Holder 
Full Screen 
Regular Expression 
Show Invisible Characters 
Page Layout 
Parenthesis Matching 
BibTeX 
UTF / CID export 
Localizations 
Switching TeX Engines
History 
• 1985 
Steve Jobs got fired 
from Apple and 
founded NeXT.! 
• 1989 Sep. 
NeXTSTEP 1.0 was 
released. TeXview 
1.0 was released by 
Tom Rokicki. 
• 1996 
Apple bought NeXT 
and Steve Jobs 
returned to Apple.! 
• 1999 
Koch started 
developing TeXShop 
for Mac OS X beta, 
inspired by TeXview.
History 
YEAR Mac OS X Feature TeXShop 
2001 10 Cheetah 1 
2001 10.1 Puma 
2002 10.2 Jaguar 
2003 10.3 Panther 
2005 10.4 Tiger PDF Kit 2 
2007 10.5 Leopard 
2009 10.6 Snow 
2011 10.7 LeLoipoanrd Resume 3 
2012 10.8 Mountain 
2013 10.9 MaLvieornicks
TeXShop 
and 
Japanese Developers
Backslash - Yen Mark 
Problem 
 
Press Backslash Key ! 
on Japanese Keyboard 
¥ 
U+00A5 U+005C 
(default)
Backslash - Yen Mark 
Problem 
 
Press Backslash Key ! 
on Japanese Keyboard 
¥ 
automatically 
U+00A5 U+005C 
(default)
Japanese Collaboratoars 
• Mitsuhiro Shishikura! 
• Seiji Zenitani! 
• Makoto Inoue! 
• Yu Itoh! 
• Koichi Inoue! 
• Yoshihisa Okazaki! 
• Tomoaki Okayama! 
• Isao Sonobe
TeXShop’s Features 
Equipped for Editing 
Japanese Documents
Full-Width(ZENKAKU) Space
Full-Width(ZENKAKU) Space 
➡ Successfully compiled 
➡ ERROR: Undefined 
control sequence
Full-Width(ZENKAKU) Space 
➡ Successfully compiled 
➡ ERROR: Undefined 
control sequence 
Ordinary Space 
Zenkaku Space
Full-Width(ZENKAKU) Space 
Easy to distinguish
Japanese Encodings 
• Shift-JIS! 
• JIS (ISO-2022-JP)! 
• EUC-JP! 
• UTF-8! 
• UTF-16 etc...
Emoji 
(Digression) 
!"#$%&'()*+, 
-./01234✊✌78 
9:;<=❌?@ABCD 
E⚡G⛄IJK✈MNOP
Emoji 
(Digression)
Circled Numbers 
①②③④⑤⑥⑦⑧⑨⑩ 
⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ 
㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚ 
㉛323334353637383940 
41424344454647484950
Circled Numbers 
①②③④⑤⑥⑦⑧⑨⑩ 
⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ 
Lost Shift-JIS / EUC-JP
UTF/OTF Package
UTF/OTF Package 
①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰ 
⑱⑲⑳㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛323334 
35363738394041424344454647484950 
Compiled
UTF/OTF Package
UTF/OTF Package 
①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰ 
⑱⑲⑳㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛323334 
35363738394041424344454647484950 
Compiled
UTF-Export 
Saved 
In Memory
UTF-Export
UTF-Export 
Loaded 
In Memory
Dakuten / Han-dakuten 
ば 
は 
ba 
ぱha 
pa
Dakuten / Han-dakuten 
ばDakuten 
は 
ba 
ぱha 
pa
Dakuten / Han-dakuten 
ばDakuten 
は 
ba 
ha ぱHan-Dakuten 
pa
Dakuten 
ばDakuten
Dakuten 
ば 
Dakuten 
 ば(U+3070) Hiragana letter “ba”
Dakuten 
ば 
 ば(U+3070) Hiragana letter “ba” 
 は(U+306F) Hiragana letter “ha” 
゛ (U+3099) Combining katakana-hiragana 
voiced sound mark 
+ 
Dakuten
Dakuten Issue
Dakuten Issue 
➡ Successfully compiled 
➡ ERROR: Undefined 
control sequence
Dakuten Issue 
➡ Successfully compiled 
➡ ERROR: Undefined 
control sequence 
Copy & Paste 
Filename on Finder
Unicode Normalization 
• NFC : Normalization Form C 
(Composition)! 
• NFD : Normalization Form D 
 (Decomposition)
NFD 
ほげ 
ほけ゛ 
ほけ゛ 
decomposed 
decomposed! 
(unchanged)
NFC 
ほげ 
ほけ゛ 
ほけ゛ 
ほげ 
decomposed 
composed 
composed
Unicode Normalization 
Search a filename with composed-form characters 
Files with decomposed-form names hit.
Lost in 
Normalization
My Name
My Name 
• English: Yusuke TERADA! 
• Hiragana: てらだ ゆうすけ! 
• Kanji: 寺田 侑祐
My Name 
• English: Yusuke TERADA! 
• Hiragana: てらだ ゆうすけ! 
• Kanji: 寺田 侑祐
Demonstration 
(Safari / Mail)
CJK Compatibility 
Ideographs
CJK Compatibility 
Ideographs
Lost In Normalization 
祐 
U+FA4F 
decomposed 祐 
祐 
U+7950 
U+7950 
NFC 
composed 
(!) 
祐 
U+FA4F 
祐 
U+7950 
decomposed 
NFD 
(!)
Composition Exclusion 
Website of Unicode 
Consortium
Composition Exclusion
Composition Exclusion 
Normalize 
Do not! 
normalize 
Compiled as users expected
The Future of 
TeXShop
The Future of TeXShop 
“The design goal for TeXShop is simple: lots of space for 
the user's work, almost no space for interface and buttons. 
TeXShop should be in the background ready to help, but 
never in the way. What is important is the mathematics, 
physics, philosophy, economics, or history typed by the user. 
The highest praise is when the user didn't much notice our 
program.”