What are formats in LaTeX and how to manage them?pdflatex-fmt-doesnt-match-pdftex-poolWhat formats do the file extensions in the TeX Live source tree denoteHow do I configure the paths for TexLive2011 to work on my system with TexWorks 0.5?Wrong TFM generated by mf2pt1 in TeXLive 2013Where should I put my package files in TeX Live 2013?How to install correctly simhei.ttf and simsun.ttc for pdflatex on TEX Live 2013Adding tftopl/pltotf to TeXlive basicLuaTeX 0.85 pdf* primitive changes and format file generationNo formats available after installation of texliveTEXINPUTS on Windows
How to ask if I can mow my neighbor's lawn
The instant an accelerating object has zero speed, is it speeding up, slowing down, or neither?
Is there a term for someone whose preferred policies are a mix of Left and Right?
Background for black and white chart
How to address players struggling with simple controls?
On George Box, Galit Shmueli and the scientific method?
How to write a nice frame challenge?
How Linux command "mount -a" works
Lead the way to this Literary Knight to its final “DESTINATION”
New Site Design!
What is this plant I saw for sale at a Romanian farmer's market?
Is it a bad idea to have a pen name with only an initial for a surname?
How do I gain the trust of other PCs?
How did the European Union reach the figure of 3% as a maximum allowed deficit?
Does anyone recognize these rockets, and their location?
How can Caller ID be faked?
Why does my system use more RAM after an hour of usage?
Fill the maze with a wall-following Snake until it gets stuck
How can the US president give an order to a civilian?
How do I run a script as sudo at boot time on Ubuntu 18.04 Server?
How could I create a situation in which a PC has to make a saving throw or be forced to pet a dog?
Is the infant mortality rate among African-American babies in Youngstown, Ohio greater than that of babies in Iran?
Numerical second order differentiation
Class to generate a pdf invoice
What are formats in LaTeX and how to manage them?
pdflatex-fmt-doesnt-match-pdftex-poolWhat formats do the file extensions in the TeX Live source tree denoteHow do I configure the paths for TexLive2011 to work on my system with TexWorks 0.5?Wrong TFM generated by mf2pt1 in TeXLive 2013Where should I put my package files in TeX Live 2013?How to install correctly simhei.ttf and simsun.ttc for pdflatex on TEX Live 2013Adding tftopl/pltotf to TeXlive basicLuaTeX 0.85 pdf* primitive changes and format file generationNo formats available after installation of texliveTEXINPUTS on Windows
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
For very long time I am trying to understand why we need fmtutil
and also why these files are called formats? Where are they coming from (besides language packages)? For example I have checked my system-wide fmtutil.conf
and found lines like
dviluatex luatex language.def,language.dat.lua dviluatex.ini
luajittex luajittex language.def,language.dat.lua luatex.ini
mf mf-nowin - -translate-file=cp227.tcx mf.ini
pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
etex pdftex language.def -translate-file=cp227.tcx *etex.ini
pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
tex tex - tex.ini
and so on. Intuition says these are about language-specific files (well, paths like language.def show it), but overall purpose and fields are as magic as unicorns, what are they for?
texlive fmtutil
add a comment |
For very long time I am trying to understand why we need fmtutil
and also why these files are called formats? Where are they coming from (besides language packages)? For example I have checked my system-wide fmtutil.conf
and found lines like
dviluatex luatex language.def,language.dat.lua dviluatex.ini
luajittex luajittex language.def,language.dat.lua luatex.ini
mf mf-nowin - -translate-file=cp227.tcx mf.ini
pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
etex pdftex language.def -translate-file=cp227.tcx *etex.ini
pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
tex tex - tex.ini
and so on. Intuition says these are about language-specific files (well, paths like language.def show it), but overall purpose and fields are as magic as unicorns, what are they for?
texlive fmtutil
add a comment |
For very long time I am trying to understand why we need fmtutil
and also why these files are called formats? Where are they coming from (besides language packages)? For example I have checked my system-wide fmtutil.conf
and found lines like
dviluatex luatex language.def,language.dat.lua dviluatex.ini
luajittex luajittex language.def,language.dat.lua luatex.ini
mf mf-nowin - -translate-file=cp227.tcx mf.ini
pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
etex pdftex language.def -translate-file=cp227.tcx *etex.ini
pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
tex tex - tex.ini
and so on. Intuition says these are about language-specific files (well, paths like language.def show it), but overall purpose and fields are as magic as unicorns, what are they for?
texlive fmtutil
For very long time I am trying to understand why we need fmtutil
and also why these files are called formats? Where are they coming from (besides language packages)? For example I have checked my system-wide fmtutil.conf
and found lines like
dviluatex luatex language.def,language.dat.lua dviluatex.ini
luajittex luajittex language.def,language.dat.lua luatex.ini
mf mf-nowin - -translate-file=cp227.tcx mf.ini
pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
etex pdftex language.def -translate-file=cp227.tcx *etex.ini
pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
tex tex - tex.ini
and so on. Intuition says these are about language-specific files (well, paths like language.def show it), but overall purpose and fields are as magic as unicorns, what are they for?
texlive fmtutil
texlive fmtutil
edited Jun 9 at 4:51
siracusa
6,33411733
6,33411733
asked Jun 8 at 22:07
M.MassM.Mass
221211
221211
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
I will restrict my explanations to formats and their handling in TeX Live. MikTeX has a different approach I guess.
To add to David's explanation, formats are defined in the so called TLPOBJ
, these are the stanzas (paragraphs) you can see in the texlive.tlpdb
(which is in PATH/TO/TEXLIVE/2019/tlpkg/texlive.tlpdb
). An example:
name aleph
category Package
revision 50602
...
execute AddFormat name=aleph engine=aleph options=*aleph.ini fmttriggers=cm,hyphen-base,knuth-lib,plain
execute AddFormat name=lamed engine=aleph patterns=language.dat options=*lambda.ini fmttriggers=cm,hyphen-base,antomega,lambda,latex,latex-fonts,omega
...
This adds two format definitions. In the TLPDB we are using key=value
pairs, from which the fmtutil.cnf
is generated. (Ignore the fmttriggers
for now, they are internal features to trigger rebuilds)
The definitions in turn come from the macro package writers and are put into the source files for the tlpobj by us (TL Team).
Most of the formats are defined in the respective engine package:
aleph
engine is inaleph
package and definedaleph
andlamed
context
package provides all kinds ofcont-XX
formatscslatex
package providescslatex
andpdfcslatex
formats- ...
Some formats, in particular the base latex formats, get a special treatment, though.
Concerning the language question: As David said, hyphenation patterns can only be loaded during format creation time, and in addition different engines (binary programs) use different formats of hyphenation pattern definitions, thus we need to have the file to be loaded in the configuration file.
add a comment |
A format file is just a preloaded set of definitions to speed up document processing. "pdflatex" for example is just "pdftex" with the definitions in latex.ltx
preloaded. Actually these days not loading latex.ltx on every document only saves a fraction of a second, when the system was designed it would save tens of minutes per document.
Related to this the patterns
instructions that set up language-specific hyphenation can only be loaded in initex mode (which is set up for dumping formats) which is why you see a specification of which files to load in the config file.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "85"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f494877%2fwhat-are-formats-in-latex-and-how-to-manage-them%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I will restrict my explanations to formats and their handling in TeX Live. MikTeX has a different approach I guess.
To add to David's explanation, formats are defined in the so called TLPOBJ
, these are the stanzas (paragraphs) you can see in the texlive.tlpdb
(which is in PATH/TO/TEXLIVE/2019/tlpkg/texlive.tlpdb
). An example:
name aleph
category Package
revision 50602
...
execute AddFormat name=aleph engine=aleph options=*aleph.ini fmttriggers=cm,hyphen-base,knuth-lib,plain
execute AddFormat name=lamed engine=aleph patterns=language.dat options=*lambda.ini fmttriggers=cm,hyphen-base,antomega,lambda,latex,latex-fonts,omega
...
This adds two format definitions. In the TLPDB we are using key=value
pairs, from which the fmtutil.cnf
is generated. (Ignore the fmttriggers
for now, they are internal features to trigger rebuilds)
The definitions in turn come from the macro package writers and are put into the source files for the tlpobj by us (TL Team).
Most of the formats are defined in the respective engine package:
aleph
engine is inaleph
package and definedaleph
andlamed
context
package provides all kinds ofcont-XX
formatscslatex
package providescslatex
andpdfcslatex
formats- ...
Some formats, in particular the base latex formats, get a special treatment, though.
Concerning the language question: As David said, hyphenation patterns can only be loaded during format creation time, and in addition different engines (binary programs) use different formats of hyphenation pattern definitions, thus we need to have the file to be loaded in the configuration file.
add a comment |
I will restrict my explanations to formats and their handling in TeX Live. MikTeX has a different approach I guess.
To add to David's explanation, formats are defined in the so called TLPOBJ
, these are the stanzas (paragraphs) you can see in the texlive.tlpdb
(which is in PATH/TO/TEXLIVE/2019/tlpkg/texlive.tlpdb
). An example:
name aleph
category Package
revision 50602
...
execute AddFormat name=aleph engine=aleph options=*aleph.ini fmttriggers=cm,hyphen-base,knuth-lib,plain
execute AddFormat name=lamed engine=aleph patterns=language.dat options=*lambda.ini fmttriggers=cm,hyphen-base,antomega,lambda,latex,latex-fonts,omega
...
This adds two format definitions. In the TLPDB we are using key=value
pairs, from which the fmtutil.cnf
is generated. (Ignore the fmttriggers
for now, they are internal features to trigger rebuilds)
The definitions in turn come from the macro package writers and are put into the source files for the tlpobj by us (TL Team).
Most of the formats are defined in the respective engine package:
aleph
engine is inaleph
package and definedaleph
andlamed
context
package provides all kinds ofcont-XX
formatscslatex
package providescslatex
andpdfcslatex
formats- ...
Some formats, in particular the base latex formats, get a special treatment, though.
Concerning the language question: As David said, hyphenation patterns can only be loaded during format creation time, and in addition different engines (binary programs) use different formats of hyphenation pattern definitions, thus we need to have the file to be loaded in the configuration file.
add a comment |
I will restrict my explanations to formats and their handling in TeX Live. MikTeX has a different approach I guess.
To add to David's explanation, formats are defined in the so called TLPOBJ
, these are the stanzas (paragraphs) you can see in the texlive.tlpdb
(which is in PATH/TO/TEXLIVE/2019/tlpkg/texlive.tlpdb
). An example:
name aleph
category Package
revision 50602
...
execute AddFormat name=aleph engine=aleph options=*aleph.ini fmttriggers=cm,hyphen-base,knuth-lib,plain
execute AddFormat name=lamed engine=aleph patterns=language.dat options=*lambda.ini fmttriggers=cm,hyphen-base,antomega,lambda,latex,latex-fonts,omega
...
This adds two format definitions. In the TLPDB we are using key=value
pairs, from which the fmtutil.cnf
is generated. (Ignore the fmttriggers
for now, they are internal features to trigger rebuilds)
The definitions in turn come from the macro package writers and are put into the source files for the tlpobj by us (TL Team).
Most of the formats are defined in the respective engine package:
aleph
engine is inaleph
package and definedaleph
andlamed
context
package provides all kinds ofcont-XX
formatscslatex
package providescslatex
andpdfcslatex
formats- ...
Some formats, in particular the base latex formats, get a special treatment, though.
Concerning the language question: As David said, hyphenation patterns can only be loaded during format creation time, and in addition different engines (binary programs) use different formats of hyphenation pattern definitions, thus we need to have the file to be loaded in the configuration file.
I will restrict my explanations to formats and their handling in TeX Live. MikTeX has a different approach I guess.
To add to David's explanation, formats are defined in the so called TLPOBJ
, these are the stanzas (paragraphs) you can see in the texlive.tlpdb
(which is in PATH/TO/TEXLIVE/2019/tlpkg/texlive.tlpdb
). An example:
name aleph
category Package
revision 50602
...
execute AddFormat name=aleph engine=aleph options=*aleph.ini fmttriggers=cm,hyphen-base,knuth-lib,plain
execute AddFormat name=lamed engine=aleph patterns=language.dat options=*lambda.ini fmttriggers=cm,hyphen-base,antomega,lambda,latex,latex-fonts,omega
...
This adds two format definitions. In the TLPDB we are using key=value
pairs, from which the fmtutil.cnf
is generated. (Ignore the fmttriggers
for now, they are internal features to trigger rebuilds)
The definitions in turn come from the macro package writers and are put into the source files for the tlpobj by us (TL Team).
Most of the formats are defined in the respective engine package:
aleph
engine is inaleph
package and definedaleph
andlamed
context
package provides all kinds ofcont-XX
formatscslatex
package providescslatex
andpdfcslatex
formats- ...
Some formats, in particular the base latex formats, get a special treatment, though.
Concerning the language question: As David said, hyphenation patterns can only be loaded during format creation time, and in addition different engines (binary programs) use different formats of hyphenation pattern definitions, thus we need to have the file to be loaded in the configuration file.
answered Jun 9 at 2:26
norbertnorbert
6,8151434
6,8151434
add a comment |
add a comment |
A format file is just a preloaded set of definitions to speed up document processing. "pdflatex" for example is just "pdftex" with the definitions in latex.ltx
preloaded. Actually these days not loading latex.ltx on every document only saves a fraction of a second, when the system was designed it would save tens of minutes per document.
Related to this the patterns
instructions that set up language-specific hyphenation can only be loaded in initex mode (which is set up for dumping formats) which is why you see a specification of which files to load in the config file.
add a comment |
A format file is just a preloaded set of definitions to speed up document processing. "pdflatex" for example is just "pdftex" with the definitions in latex.ltx
preloaded. Actually these days not loading latex.ltx on every document only saves a fraction of a second, when the system was designed it would save tens of minutes per document.
Related to this the patterns
instructions that set up language-specific hyphenation can only be loaded in initex mode (which is set up for dumping formats) which is why you see a specification of which files to load in the config file.
add a comment |
A format file is just a preloaded set of definitions to speed up document processing. "pdflatex" for example is just "pdftex" with the definitions in latex.ltx
preloaded. Actually these days not loading latex.ltx on every document only saves a fraction of a second, when the system was designed it would save tens of minutes per document.
Related to this the patterns
instructions that set up language-specific hyphenation can only be loaded in initex mode (which is set up for dumping formats) which is why you see a specification of which files to load in the config file.
A format file is just a preloaded set of definitions to speed up document processing. "pdflatex" for example is just "pdftex" with the definitions in latex.ltx
preloaded. Actually these days not loading latex.ltx on every document only saves a fraction of a second, when the system was designed it would save tens of minutes per document.
Related to this the patterns
instructions that set up language-specific hyphenation can only be loaded in initex mode (which is set up for dumping formats) which is why you see a specification of which files to load in the config file.
answered Jun 8 at 22:49
David CarlisleDavid Carlisle
510k4311591916
510k4311591916
add a comment |
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f494877%2fwhat-are-formats-in-latex-and-how-to-manage-them%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown