distributing t ex and friends
play

Distributing T EX and Friends Norbert Preining Jaist T EX Live - PowerPoint PPT Presentation

Distributing T EX and Friends Norbert Preining Jaist T EX Live Team Debian T EX Team Tug 2013, Tokyo, October 2013 Overview EX Live 2 introduction to T important configuration files infrastructure and package hierarchy


  1. Distributing T EX and Friends Norbert Preining Jaist T EX Live Team Debian T EX Team Tug 2013, Tokyo, October 2013

  2. Overview EX Live 2 ▶ introduction to T ▶ important configuration files ▶ infrastructure and package hierarchy ▶ packaging paradigma ▶ distribution breakdown ▶ possible problems and warnings ▶ recommendations

  3. ▶ 2000 5th edition, non-free software removed ▶ 2002 7th edition: Mac OS X support ▶ 2005 addition of the -sys scripts ▶ 2006–09 XeT ▶ 2009– Japanese T ▶ 2012 updmap goes multi-input ▶ 2013 texmf and texmf-dist merge History additions, tlmgr introduction, Karl Berry EX) EX, (e)upT EX support ((e)pT EX addition, end of teT EX Works EX development, T EX EX CD, tds EX Users Group, 4AllT 3 ▶ late 1993 Dutch T ▶ 1995 Unix-based tds cd based on teT ▶ 1996 first edition, Sebastian Rahtz

  4. ▶ 2006–09 XeT ▶ 2009– Japanese T ▶ 2012 updmap goes multi-input ▶ 2013 texmf and texmf-dist merge History EX development, T EX) EX, (e)upT EX support ((e)pT additions, tlmgr introduction, Karl Berry EX Works EX addition, end of teT EX EX CD, tds EX Users Group, 4AllT 3 ▶ late 1993 Dutch T ▶ 1995 Unix-based tds cd based on teT ▶ 1996 first edition, Sebastian Rahtz ▶ 2000 5th edition, non-free software removed ▶ 2002 7th edition: Mac OS X support ▶ 2005 addition of the -sys scripts

  5. History EX development, T EX) EX, (e)upT EX support ((e)pT additions, tlmgr introduction, Karl Berry EX Works EX addition, end of teT EX EX CD, tds EX Users Group, 4AllT 3 ▶ late 1993 Dutch T ▶ 1995 Unix-based tds cd based on teT ▶ 1996 first edition, Sebastian Rahtz ▶ 2000 5th edition, non-free software removed ▶ 2002 7th edition: Mac OS X support ▶ 2005 addition of the -sys scripts ▶ 2006–09 XeT ▶ 2009– Japanese T ▶ 2012 updmap goes multi-input ▶ 2013 texmf and texmf-dist merge

  6. Features (currently 2547 packages) (11 archs, 10 os, 21 combinations, plus external) (Windows is the hard part) (responsible for update, backup, configuration, …) 4 ▶ ‘complete’ – all the free stuff from ctan ▶ multi-platform ▶ uniform across platforms ▶ own package manager tlmgr ▶ practically daily updates ▶ dfsg free with a few exceptions

  7. Distribution methods DVD once a year around June/July, available permanently on ctan tlnet distribution daily updates of packages, tlmgr is managing updates (and much more) 5

  8. stacked versus non-stacked files non-stacked more prominent (higher up in the hierarchy of various trees) located files override less prominent ones (same name) stacked all files of the same name are evaluated 6

  9. stacked versus non-stacked files non-stacked more prominent (higher up in the hierarchy of various trees) located files override less prominent ones (same name) stacked all files of the same name are evaluated 6

  10. Configuration files for (any) T EX system non-stacked language.dat/def/def.lua specification of available hyphenation patterns for different engines stacked updmap.cfg meta-listing of available fonts 7 fmtutil.cnf definition of formats (memory dumps) texmf.cnf configuration of search paths

  11. texmf.cnf – available trees (increasing order) EX Live files TEXMFLOCAL system wide additions ( R/../texmf-local ) TEXMFSYSVAR generated data ( R/texmf-var ) TEXMFSYSCONFIG system wide configuration ( R/texmf-config ) TEXMFHOME user tree ( ~/texmf ) TEXMFVAR user generated data ( ~/.texlive2013/texmf-var ) TEXMFCONFIG user configurations ( ~/.texlive2013/texmf-config ) VARTEXFONTS location of generated fonts ( TEXMFVAR/fonts ) 8 TEXMFDIST all the of the T

  12. Possible additions to texmf.cnf e.g., TEXMFSYSCONFIG = /etc/texmf How to Since all the texmf.cnf files are read and evvaluated, please only set the necessary changes in TEXMFSYSCONFIG/web2c/texmf.cnf 9 ▶ adjustment of tree locations ▶ addition of trees ▶ anything else should not be necessary!

  13. Possible additions to texmf.cnf e.g., TEXMFSYSCONFIG = /etc/texmf How to Since all the texmf.cnf files are read and evvaluated, please only set the necessary changes in TEXMFSYSCONFIG/web2c/texmf.cnf 9 ▶ adjustment of tree locations ▶ addition of trees ▶ anything else should not be necessary!

  14. Configuration of fonts updmap.cfg configuration files for dvipdfm(x) , pdftex , dvips and font map definition files adaption of this file and re-run of updmap-sys admin) can easily be managed by adding one more config file in TEXMFLOCAL 10 ▶ input file for updmap(-sys) which generating font ▶ lists configuration options (e.g., selection of font embedding) ▶ every change of availability of fonts (installation/removal) needs ▶ since it is stacked, local system adaptions (adaptions by the

  15. New operation mode TEXMFVAR $TEXLIVE/temxf-dist/web2c/updmap.cfg TEXMFDIST $TEXLIVE/texmf-local/web2c/updmap.cfg TEXMFLOCAL $TEXLIVE/YYYY/texmf-var/web2c/updmap.cfg TEXMFSYSVAR $TEXLIVE/YYYY/texmf-config/web2c/updmap.cfg TEXMFSYSCONFIG $HOME/texmf/web2c/updmap.cfg TEXMFHOME $HOME/.texliveYYYY/texmf-var/web2c/updmap.cfg $HOME/.texliveYYYY/texmf-config/web2c/updmap.cfg all updmap.cfg are read in a stacked mode TEXMFCONFIG User mode $TEXLIVE/temxf-dist/web2c/updmap.cfg TEXMFDIST $TEXLIVE/texmf-local/web2c/updmap.cfg TEXMFLOCAL $TEXLIVE/YYYY/texmf-var/web2c/updmap.cfg TEXMFSYSVAR $TEXLIVE/YYYY/texmf-config/web2c/updmap.cfg TEXMFSYSCONFIG System mode list in order of decreasing priority 11

  16. format definitions fmtutil.cnf EX traditionally reads in a precompiled memory dump for faster execution (back in the 80ies...) dumps adaption of this file, plus a re-run of fmtutil-sys adaptions have to be made in the fmtutil.cnf file itself 12 ▶ T ▶ input file for fmtutil(-sys) which generates these memory ▶ not-stacked! ▶ every change of availability of formats should trigger an

  17. format definitions fmtutil.cnf EX traditionally reads in a precompiled memory dump for faster execution (back in the 80ies...) dumps adaption of this file, plus a re-run of fmtutil-sys adaptions have to be made in the fmtutil.cnf file itself 12 ▶ T ▶ input file for fmtutil(-sys) which generates these memory ▶ not-stacked! ▶ every change of availability of formats should trigger an

  18. hyphenation patterns language.dat/.def/.dat.lua fmtutil , and include hyphenation patterns in the dump. trigger an adaption of these files, plus a re-run of fmtutil-sys updating the file itself necessary) 13 ▶ these files are read during memory dump generation by ▶ every change of availability of hyphenation patterns should ▶ (exception: language.dat.lua is run-time file, no action but

  19. Structure of T EX Live Hierarchy of packages Scheme (currently 9) top most level, overlapping contents Collection (currently 45) non-overlapping, i.e., partition of the contents, examples: collection-latex , collection-langcjk Package (currently ~2500) smallest unit, relates to one item on ctan, examples: beamer , koma-script 14

  20. T EX Live Database texlive.tlpdb One installation or media is now completely described by one file, the T EX Live Database: EX Catalogue respective perl module) using it to take examples 15 ▶ simple text file – easily parseable ▶ revision number for the single packages ▶ generated from static content (the tlpsrc files) ▶ enriched with information from the T ▶ format documented in detail (pod documentation in the ▶ perl modules for the whole db, for each package, lots of scripts

  21. How does texlive.tlpdb look like texlive.tlpdb name abbr ... name memoir ... 16 ▶ sequence of key value pairs ▶ separated by an empty line (or more) ▶ one group per package ▶ some ‘meta’-packages for configuration options

  22. The single package: tlpobj by example I doccontainermd5 1d764851470aab66e5872ecf64ac6bc9 catalogue-license lppl catalogue-date 2006-11-28 22:38:04 +0100 catalogue-ctan /macros/latex/contrib/a0poster texmf-dist/tex/latex/a0poster/a0size.sty texmf-dist/tex/latex/a0poster/a0poster.cls runfiles size=4 texmf-dist/doc/latex/a0poster/a0_eng.tex texmf-dist/doc/latex/a0poster/a0_eng.pdf details=”Package documentation (English)” language=”en” texmf-dist/doc/latex/a0poster/a0.tex texmf-dist/doc/latex/a0poster/a0.pdf details=”Package documentation (German)” language=”de” docfiles size=47 doccontainersize 118128 a0poster.tlpobj containermd5 444d5f9f8da1a7812ac40da67d79e4df containersize 3320 longdesc sizes are DIN A0, DIN A1, DIN A2 and DIN A3. longdesc that the poster will be printed in the right size. Supported longdesc also create a PostScript header file for dvips which ensures longdesc that in math formulas the symbols appear in the right size. Can longdesc Provides fonts in sizes of 12pt up to 107pt and also makes sure shortdesc Support for designing posters on large paper. revision 15878 category Package name a0poster catalogue-version 1.22b

  23. The execute statements addMap, addMixedMap, addKanjiMap lists entries that have to be added to updmap.cfg execute addMap grotesqvn.map AddFormat specifies one entry for fmtutil.cnf execute AddFormat name=pdflatex engine=pdftex patterns=language.dat options=”-translate-file=cp227.tcx *pdflatex.ini” AddHyphen specifies one entry for the files language.* execute AddHyphen name=basque lefthyphenmin=2 righthyphenmin=2 file=loadhyph-eu.tex file_patterns=hyph-eu.pat.txt file_exceptions= 18

Recommend


More recommend