The texdef package was recently updated to fix a critical bug. The package is updated on CTAN, but because TeX Live is in its "freeze" period, attempting to update the package via tlmgr update does not work. I do not consider it an acceptable solution to wait until the freeze period is over. How can I install the most recent version?

  • Download the source and install it by hand. It's only a single file (texdef.pl). – Henri Menke Apr 3 '18 at 2:00
  • Also this bug is hardly critical. It neither poses a security risk, nor does it make the application unusable. It merely displays a warning. – Henri Menke Apr 3 '18 at 2:01
  • 1
    Nevertheless, a good question. It is always possible to install to texmf-local, if you have the code. However, there is a problem: If you forget to remove the local code later, then it will continue to over-ride updated distribution code. – user139954 Apr 3 '18 at 2:52
  • 3
    @HenriMenke Wrong, in Perl 5.26 the warning has been turned into a hard error that makes texdef completely inoperable. – Radon Rosborough Apr 3 '18 at 5:41
  • 5
    Install texlive 2018 pretest. You can do it in parallel to your existing tex. – Ulrike Fischer Apr 3 '18 at 5:50

CAVEAT: This answer holds only for packages which are available in the TDS format. This is indicated by their filename on CTAN. If the filename reads <package>.tds.zip, it is in TDS format.

You can simply install it by hand. The texdef package is available in TDS format which makes the installation ridiculously easy.

  1. Download texdef.tds.zip

  2. Unpack (probably you need sudo with it)

    unzip -o texdef.tds.zip -d `kpsexpand '$TEXMFDIST'`
  3. ???

  4. Profit

    $ texdef --version
    texdef: Version 1.8a -- 2018/03/28

For other packages extra steps might be necessary. If the package contains files which have to be located via kpathsea, you have to rebuild the filename database. Fonts have to be enabled in the map file. For example with STIX2.

  1. Download stix2-type1.tds.zip.

  2. Unpack (probably you need sudo with it)

    unzip -o stix2-type1.tds.zip -d `kpsexpand '$TEXMFDIST'`
  3. Rebuild the filename database (probably you need sudo with it)

  4. For fonts, enable the font in the map file (probably you need sudo with it)

    updmap-sys --enable Map stix2.map
  5. ???

  6. Profit

  • How can I uninstall the package, once I have installed it? – Radon Rosborough Apr 5 '18 at 23:09
  • 1
    @RadonRosborough You can simply remove it using tlmgr remove texdoc. I presume that you mean downgrading to the repository version which is achieved using tlmgr install --reinstall texdoc. – Henri Menke Apr 5 '18 at 23:39
  • You should never install packages manually into TEXMFDIST. You should use TEXMFLOCAL. Moreover, this is not the recommended way to install map file fragments now. – cfr Apr 23 '18 at 2:40
  • @cfr (1) Of course you should install packages from CTAN in TEXMFDIST. Otherwise they could never be overwritten by updates, once the package arrives in the official distribution. You are probably thinking about packages which are not on CTAN. (2) I am not aware of any other way to install fonts. – Henri Menke Apr 23 '18 at 3:52
  • Hi. I came here from tex.stackexchange.com/questions/427993/…. Thanks for the instructions. I followed them and install the package without any errors. However, when using it, I got mktexpk: don't know how to create bitmap font for ts1-stix2text-italic. mktexpk: perhaps ts1-stix2text-italic is missing from the map file. Maybe the package source has a bug? – Khue Apr 23 '18 at 19:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.