Slide 1

Slide 1 text

$POTUSVDUJOHB$VTUPN5F9&DPTZTUFN GPS&EVDBUJPOBM*OTUJUVUJPOT Š#FZPOE"DBEFNJD5ZQFTFUUJOH :VTVLF5&3"%" 5FUTVSZPLVLBJ 5PLZP&EVDBUJPOBM*OTUJUVUF +BQBO April 30, 2025 BachoTeX 2025

Slide 2

Slide 2 text

"CPVU.F Yusuke TERADA from Tokyo, Japan A private preparatory school teacher for high-school students Japanese TeX Development Community A contributor to TeXShop development Major work: TeX2img https://tex2img.tech/

Slide 3

Slide 3 text

1SFQBSBUPSZ4DIPPMT Privately-run schools which provide education supplementary to public education Aim to help students prepare entrance exams

Slide 4

Slide 4 text

5F9GPS&WFSZ4VCKFDU Mathematics Physics Chemistry Biology Earth Science Information Science English Literature Classical Japanese Classical Chinese Geography History

Slide 5

Slide 5 text

5ZQJDBM5F9%PDVNFOU Elegant Clean Scholarly Academic Journal Style )PXFWFS OPUBQQFBMJOH UPUFFOBHFST

Slide 6

Slide 6 text

0VS.BUFSJBMT *OGPSNBUJPO4DJFODF &OHMJTI

Slide 7

Slide 7 text

0VS.BUFSJBMT #JPMPHZ $IFNJTUSZ

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

$MBTTJDBM+BQBOFTF5FYUT

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

5F94PVSDFGPS(SBNNBUJDBM"OOPUBUJPOT

Slide 14

Slide 14 text

5F9BTBO*OUFSOBM*OGSBTUSVDUVSF Textbooks Grade Reports Schedule Tables Internal Notices Backends for PDF Tools

Slide 15

Slide 15 text

4DIFEVMF5BCMF(FOFSBUJPO

Slide 16

Slide 16 text

#BDLFOEGPS1%'5PPMT .FSHFQBHFT 4QMJUQBHFT

Slide 17

Slide 17 text

5F9%SJWFO1%'8BUFSNBSLJOH5PPM *OTFSU8BUFSNBSLT JOUP&YJTUJOH1%'T

Slide 18

Slide 18 text

%JHJUBM(SBEJOH4ZTUFN#BTFEPO5F9

Slide 19

Slide 19 text

%JHJUBM(SBEJOH4ZTUFN#BTFEPO5F9 See TUG 2019 Presentation Slides

Slide 20

Slide 20 text

5FDIOJDBM"SDIJUFDUVSFPG PVS*O)PVTF5F94ZTUFN All staff use macOS devices: Company-provided Macs (full-time staff) BYOD Macs (part-time staff) BYOD = Bring Your Own Device Our in-house TeX distribution is installed on every machine "TTVNQUJPOT

Slide 21

Slide 21 text

0VS*O)PVTF5F9%JTUSJCVUJPO Tailored specifically for in-house use on macOS Lightweight and compact Includes everything needed for our use Bundled with a customized version of TeXShop Not based on TeX Live Coexists safely with TeX Live Delivered and updated via our internal server

Slide 22

Slide 22 text

8IZ/PU5F9-JWF 1. Historical 2. Size 3. Update Control Prevents unintended incompatibility Our distribution (~1.5 GB) vs. TeX Live (> 9 GB) TeX Live wasn't as mature in 2007 as it is now

Slide 23

Slide 23 text

$IBMMFOHFTJO%FQMPZNFOU #BSSJFSTUP"EPQUJPO Staff have diverse levels of IT literacy ❌ Command-line Tools ✅ Fully GUI-driven Apps Package Handling # Which package do I have to \usepackage? Creating Indexes Requires External Tools $ Understand .ind/.idx/.ist files and ɹ run makeindex/upmendex separately from TeX

Slide 24

Slide 24 text

$IBMMFOHFTJO%FQMPZNFOU #BSSJFSTUP"EPQUJPO Font Selection System LaTeX Style: NFSS (New Font Selection Scheme) Family: \rmfamily, \sffamily, \ttfamily,... Series: \mdseries, \bfseries,... Shape: \upshape, \itshape, \scshape, \slshape,... Word Style: Choose Font by Name

Slide 25

Slide 25 text

$IBMMFOHFTJO%FQMPZNFOU #BSSJFSTUP"EPQUJPO Cryptic Error Messages dvipdfmx:warning: Glyph for CID 22113 missing in font "HiraginoSerif.ttc" # What does that mean? What am I supposed to do with this?

Slide 26

Slide 26 text

-PPTFMZ$PVQMFE4ZTUFN WT 5JHIUMZ*OUFHSBUFE4ZTUFN -PPTFMZ$PVQMFE4ZTUFN 5JHIUMZ*OUFHSBUFE4ZTUFN % &

Slide 27

Slide 27 text

#FOFpUTPG7FSUJDBM*OUFHSBUJPO macOS APFS (File System) Cocoa (API) dvipdfmx upmendex Compiler DVI driver Index processor In-house distro Custom Editor TeXShop Fonts Printing System Compile Script In-house Packages upLaTeX Tools Printed output

Slide 28

Slide 28 text

)&*$*NBHF&NCFEEJOH macOS dvipdfmx HEIC image In-house distro In-house Packages upLaTeX sips (OS command) JPEG image graphics.sty

Slide 29

Slide 29 text

JODMVEFIFJDTUZ https://github.com/doraTeX/includeheic Available at GitHub:

Slide 30

Slide 30 text

"VUPNBUJD1IPOFUJD5SBOTDSJQUJPO macOS In-house distro In-house Packages upLaTeX macOS Built-in Dictionary Cocoa (API) Look up Insert Translate

Slide 31

Slide 31 text

.BLJOH5F96TFS'SJFOEMZ All major packages are preloaded tikz, tcolorbox, amsmath, multicol, ... Font invoking commands are defined for all macOS built-in fonts Compile Script handles: Compilation: LaTeX → DVI → PDF Automatically runs makeindex/upmendex when required Translates error messages into user-friendly explanations

Slide 32

Slide 32 text

.BLJOH5F96TFS'SJFOEMZ All major packages are preloaded tikz, tcolorbox, amsmath, multicol, ... Font invoking commands are defined for all macOS built-in fonts Compile Script handles: Compilation: LaTeX → DVI → PDF Automatically runs makeindex/upmendex when required Translates error messages into user-friendly explanations

Slide 33

Slide 33 text

&SSPS.FTTBHF5SBOTMBUJPO dvipdfmx Compiler DVI driver In-house distro Editor TeXShop Compile Script upLaTeX Get output texlua Interpreter Parsed result Human Readable Messages tee

Slide 34

Slide 34 text

&SSPS.FTTBHF5SBOTMBUJPO Before dvipdfmx:warning: Glyph for CID 22113 missing in font "HiraginoSerif.ttc" # After You attempted to typeset a glyph that is not available in the mapped font. It appears as a blank space in the output PDF. Change the font used for that character. Search for the following character and wrap it with \hanamin{} to use Hanazono Mincho font: * 䂬 ➡ \hanamin{䂬} '

Slide 35

Slide 35 text

"VUPNBUFE1SJOU$POpHVSBUJPO TeX Source In-house distro In-house Packages Compile Script Set hooks macOS APFS (File System) dvipdfmx Output Embed Metadata into PDF's Extended Attributes Read Metadata ' Appropriate Settings Applied Print Printing System Paper

Slide 36

Slide 36 text

"VUPNBUFE1SJOU$POpHVSBUJPO TeX Source In-house distro In-house Packages Compile Script Set hooks macOS APFS (File System) dvipdfmx Output Embed Metadata into PDF's Extended Attributes Read Metadata ' Appropriate Settings Applied Print Printing System Paper

Slide 37

Slide 37 text

1FSGPSNBODF0QUJNJ[BUJPO Key to acceleration: mylatexformat

Slide 38

Slide 38 text

1FSGPSNBODF0QUJNJ[BUJPO Too much time spent on expanding macros in packages mylatexformat .fmt File Macro expansion already done Use as Format File instead of Standard Format Files (latex.fmt, pdflatex.fmt, uplatex.fmt, ...)

Slide 39

Slide 39 text

"VUPNBUJDGNU3FHFOFSBUJPO In-house distro Compile Script macOS APFS (File System) .fmt File MD5 Checksum Checksum Extended Attributes Compare Generate and Embed Checksum (if updated)

Slide 40

Slide 40 text

0VUDPNFT Accessible to All Staff: Minimal IT skills required From managers to part-timers Simple TeX Workflow: Seamless document production with beautiful results Single-click document creation Automation boosts operational efficiency across the organization TeX has been widely adopted across the entire company!

Slide 41

Slide 41 text

$IBMMFOHFT"IFBE Keeping Up with the Latest LaTeX TeX Live is evolving rapidly LaTeX kernel has changed a lot over the past decade Hard to follow recent updates Migrating to LuaTeX? upLaTeX is specialized for Japanese typesetting LuaTeX is becoming the new standard upLaTeX is often said to have no future

Slide 42

Slide 42 text

$IBMMFOHFT"IFBE .JHSBUJOHUP-VB5F9 Should we migrate to LuaTeX? → In principle yes, but not realistic for now Why not? 18 years of legacy Speed concerns Future hardware advances may eventually solve this

Slide 43

Slide 43 text

5XP1BUIT'PSXBSE Two options for the future: 1. Sacrifice some compatibility to stay up-to-date 2. Freeze the current environment and maintain internally Neither path is easy A decision will eventually be necessary

Slide 44

Slide 44 text

$IBMMFOHFT"IFBE 4ZTUFN4VTUBJOBCJMJUZ Deep knowledge of TeX and macOS internals required to maintain our system Currently maintained by only one person Need for successor training

Slide 45

Slide 45 text

$PODMVTJPO TeX is not just a typesetting engine It can support: Educational material development Internal infrastructure Organizational workflows Key to success: Seamless integration User-friendly design