# Which package version am I using?

Is there a LaTeX command for printing the versions of the currently installed packages? I need to know the installed version of the `pgfplots` package.

• with vanilla TeXLive distro, On command line/Terminal invoking `tlmgr info pgfplots` gives the version of pgfplots installed. Apr 4, 2014 at 14:56

Add `\listfiles` to your preamble and then look at the `.log` file. This will tell you the current version of all the packages loaded.

• Package versions are announced in the `.log` file even without `\listfiles`. Mar 13, 2011 at 12:28
• @Andrey: makes them easier to find, thought :-) Mar 13, 2011 at 12:30
• It might be interesting to write a command line tool to check that. Sep 16, 2011 at 8:54
• @ℝaphink I have attempted, but the fact that TeX hard-wraps the output makes it very difficult. Oct 24, 2015 at 16:30
• @SeanAllred You can increase `max_print_line` in `texmf.cnf` to have it (practically) not wrap; see this question. May 5, 2017 at 6:06

If you need to know this 'programmatically', then you can use the LaTeX kernel function `\@ifpackagelater` to test by date:

``````\@ifpackagelater{<package>}{2011/03/13}
{%
% Do something for the newer version
}
{%
% Do something different for the older version
}%
``````

The information is stored inside a special macro, so if you just want to 'take a peek' you can use that. Taking `pgfplots` as an example

``````\expandafter\show\csname ver@pgfplots.sty\endcsname
``````

Notice here that this needs the full file name we are interested in, so works for any file that contains suitable information (i.e. form `\ProvidesPackage`, `\ProvidesClass` or `\ProvidesFile`).

• you can load the name into a macro by `\edef\foo{\csname ver@pgfplots.sty\endcsname}` Mar 13, 2011 at 12:48
• Nowadays it can be accessed with the name `\IfPackageAtLeastTF`. (documentation at no-idea-where, source code in source2e.pdf.) May 18 at 15:50
• Remark, if `<package>` happens to be `expl3` then it only work after explicit `\usepackage{expl3}` even in versions where expl3 are available by default. Before loading it, it's in `ExplFileDate` or the (internal, do not use) `\c__kernel_expl_date_tl` Jul 13 at 2:57

To find a package version, you can just open the package source file on your file system and look the version directly by yourself with some text editor as Sublime Text.

Here are the paths and references for the latex paths on Linux and Windows for the `biblatex` package:

1. Miktex (Windows) `D:\Programs\Mikyex\latex\texmfs\install\tex\latex\biblatex-abnt\bbx\abnt.bbx`

``````...
\ProvidesFile{abnt.bbx}%
[2017/07/28\space v3.1\space ABNT BibLaTeX citation style]%
...
``````
2. TeX Live (Linux) `/usr/share/texlive/texmf-dist/tex/latex/biblatex-abnt/abnt.bbx`

``````...
\ProvidesFile{abnt.bbx}%
[2017/11/09\space v3.2\space ABNT BibLaTeX citation style]%
...
``````
• note you should check the files using the paths reported by tex in the log not "reference" paths as above. The most common issues for which people need to check versions is where they have multiple tex installations and tex is not using the package they think it is using (eg miktex user and admin installs, or linux tex and a vanilla texlive from tug etc) So the important question is not do you have the latest version of the package installed, it is is your tex using that version. Apr 27, 2019 at 20:15