# Switching between local package and texlive package

This question is about texlive 2017 under Windows OS. Some years ago there was change in the libertine package that broke my workflow. So I installed the older version of the libertine package in the texmf-local tree. Years passed and I'd like to have a look into the libertine package provided with texlive 2017.

I tried this:

\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{/c/texlive/2017/texmf-dist/tex/latex/libertine/libertine}

\begin{document}
Huhu
\end{document}


Error message: LaTeX Error: File /c/texlive/2017/texmf-dist/tex/latex/libertine/libertine.sty' not found.

(One  to much, never mind.)

How can I switch between the libertine package in texmf-local and texmf-dist? Preferably without deleting files.

If I change to a more »windowish« path line like this:

\usepackage{C:/texlive/2017/texmf-dist/tex/latex/libertine/libertine}


there is a warning:

LaTeX Warning: You have requested package C:/texlive/2017/texmf-dist/tex/latex/libertine/libertine',  but the package provides libertine'.


and an error message, starting with:

(c:/texlive/2017/texmf-dist/tex/latex/libertine/LinLibertine_I.tex))
No file libertine-dist.aux.
(c:/texlive/2017/texmf-dist/tex/latex/base/ts1cmr.fd)
(c:/texlive/2017/texmf-dist/tex/latex/libertine/t1linuxlibertinet-tlf.fd)
[1{c:/texlive/2017/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./libertine-dist.aux)name = LinLibertineT-tlf-t1--base, rootname = LinLibertineT-tlf-t1--base, pointsize =
mktexmf: empty or non-existent rootfile!
Cannot find font LinLibertineT-tlf-t1--base in map file(s).

kpathsea: Running mktexmf LinLibertineT-tlf-t1--base.mf

The command name is C:\texlive\2017\bin\win32\mktexmf
Cannot find LinLibertineT-tlf-t1--base.mf .

• Have you tried /c/texlive/2017/texmf-dist/tex/latex/libertine/libertine? At least in my TeX distro (TL on Linux) it is in a libertine subfolder. – TeXnician Jan 18 '18 at 14:23
• @TeXnician Yes, I edited my question, thank you. Same error. – Keks Dose Jan 18 '18 at 14:25
• Can't you just rename the local version to something else, libertine-old for testing purposes? – Alan Munn Jan 18 '18 at 16:11

TeX Live now supports the idea of multiple local TeX trees using the conf auxtrees target. You would therefore be best creating a dedicated local tree and adding/removing it as required

tlmgr conf auxtrees add C:\Users\me\libertinetree
tlmgr conf auxtrees remove C:\Users\me\libertinetree


Note this facility is modelled on a long-standing idea from MiKTeX, which can add multiple local roots either in the GUI or with similar commands

initexmf --register-root=C:\Users\me\libertinetree
initexmf --unregister-root=C:\Users\me\libertinetree

• Thank you, I wasn't aware of this, although I searched for exactly a feature like this yesterday. The whole old Libertine package consists of many files and so I'd like to have an ls-R file in this tree. The documentation says: > »The trees should not contain an ls-R file (or files might not be found if the ls-R becomes stale). « Is this to say, that there will be no automatic updates of the ls-R file or what is the difference to the usual behaviour? – Keks Dose Jan 19 '18 at 8:29
• @KeksDose The usual recommendation is not to hash local trees: they are small and not automatically hashed, so once you make an ls-R it might get forgotten. – Joseph Wright Jan 19 '18 at 8:30
• --1.-- Made a new TDS-compliant tree and moved all libertine-legacy folders into it. --2.-- renewed all ls-R files --3.-- added the new tree using the command tlmgr conf auxtrees add ... --4.-- Tested, works. --5.-- removed the new tree tlmgr conf auxtrees remove ... --6.-- renewed all ls-R files --7.-- run updmap-sys via tlmgr gui, see under actions. Now I can test the texlive package of libertine, seems to work as well. – Keks Dose Jan 19 '18 at 11:01

Calling a specific version of libertine.sty in this way will not change much, since the support files (fonts etc) will still be loaded from TEXMFLOCAL.

If you do not need anything else from TEXMFLOCAL the easiest way - not even changes in the document necessary - is to temporarily set TEXMFLOCAL to something not existing.

On Unix-like system this can easily be done with export TEXMFLOCAL=/not-really-existing/.

Since you are on Windows, setting environment variable is a huge pain, thus I recommend temporarily adding (or changing) TEXMFLOCAL in your c:/texlive/2017/texmf.cnf`. If this file does not exist, create it. Settings there will override the defaults set by the TeX Live installation.

• I suspected that there were no easy way. I have lots of fonts in TEXMFLOCAL. I love buying them and often enough a helpfull soul provides the necessary integration for pdftex. Recently I bought the Hesse Antiqua, published at the 100. birthday of the designer. However, I'll have an extra tree for this old version of Libertine. – Keks Dose Jan 19 '18 at 8:22