Tex: Difference between revisions
imported>IgorM m Added category, formatting |
m prefix commands with "$" and use syntax highlighting |
||
| (One intermediate revision by one other user not shown) | |||
| Line 9: | Line 9: | ||
TeX-documents are not What-you-see-is-what-you-get, but written in plain text, containing tags, commands and functions that instruct the TeX-engine how to lay out the text (or figures or anything else) on the page. | TeX-documents are not What-you-see-is-what-you-get, but written in plain text, containing tags, commands and functions that instruct the TeX-engine how to lay out the text (or figures or anything else) on the page. | ||
< | <syntaxhighlight lang=bash> | ||
cat > minimal.tex << | $ cat > minimal.tex <<EOF | ||
\documentclass{article} | \documentclass{article} | ||
\begin{document} | \begin{document} | ||
| Line 18: | Line 17: | ||
\end{document} | \end{document} | ||
EOF | EOF | ||
</ | </syntaxhighlight> | ||
The Nixpkgs-repository contains several TeX-compilers that have different advantages and disadvantages, support various output formats, encodings and have varying degrees of extensibility. | The Nixpkgs-repository contains several TeX-compilers that have different advantages and disadvantages, support various output formats, encodings and have varying degrees of extensibility. | ||
| Line 26: | Line 25: | ||
A good starting point is to install the TeX-Live basic setup: | A good starting point is to install the TeX-Live basic setup: | ||
< | <syntaxhighlight lang=console> | ||
$ nix-env -iA nixpkgs.texlive.combined.scheme-basic | |||
</syntaxhighlight> | |||
After installation, the command <code>pdflatex</code> should be available. Save the minimal example above in a file called minimal.tex and compile it with <code>pdflatex minimal.tex</code> | After installation, the command <code>pdflatex</code> should be available. Save the minimal example above in a file called minimal.tex and compile it with <code>pdflatex minimal.tex</code> | ||
| Line 57: | Line 58: | ||
Let's fetch an a little more complex example: | Let's fetch an a little more complex example: | ||
< | <syntaxhighlight lang=console> | ||
$ curl -O https://raw.githubusercontent.com/latex3/latex2e/master/base/sample2e.tex | |||
</syntaxhighlight> | |||
and process it | and process it | ||
<syntaxhighlight lang=console> | |||
< | $ pdflatex sample2e | ||
</syntaxhighlight> | |||
You can then use any PDF viewer to display it, e.g. <code>evince</code> in GNOME, <code>okular</code> in KDE, <code>xpdf</code> or <code>zathura</code> lightweight X11-viewer. | You can then use any PDF viewer to display it, e.g. <code>evince</code> in GNOME, <code>okular</code> in KDE, <code>xpdf</code> or <code>zathura</code> lightweight X11-viewer. | ||
| Line 123: | Line 127: | ||
As noted on [[TexLive]] there are several schemas available. If you know exactly which packages you are going to need you can follow the recipe on the [[TexLive]] page. Installing the Full-schema is always an option to be sure that you have everything you need, like so: | As noted on [[TexLive]] there are several schemas available. If you know exactly which packages you are going to need you can follow the recipe on the [[TexLive]] page. Installing the Full-schema is always an option to be sure that you have everything you need, like so: | ||
< | <syntaxhighlight lang=console> | ||
$ nix-env -iA nixpkgs.texlive.combined.scheme-full | |||
</syntaxhighlight> | |||
If you are looking for a smaller package, you need to go the [https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/tools/typesetting/tex/texlive/ | If you are looking for a smaller package, you need to go the [https://raw.githubusercontent.com/NixOS/nixpkgs/refs/heads/master/pkgs/tools/typesetting/tex/texlive/tlpdb.nix Nixpkg's package specification] and search for the scheme-name. For each scheme the list of packages is listed there. Since the inclusion of packages is organized hierarchically, this will require some digging. (TODO: Is there a nix-command to find out?) | ||
[[Category:Languages]] | [[Category:Languages]] | ||