Automated way to check for PGF version
April 21, 2010
This is one way to check for the version of PGF that is installed in an automated way. First create a tex file with the following contents:
\documentclass{article}
\usepackage{tikz}
\batchmode
\makeatletter
\typeout{PGFVersion=\pgfversion}
\@@end
\usepackage{tikz}
\batchmode
\makeatletter
\typeout{PGFVersion=\pgfversion}
\@@end
Say you named it test-pgf-version.tex. Then:
pdflatex test-pgf-version.tex
cat test-pgf-verson.log | grep PGFVersion | sed ‘s/PGFVersion=//’
cat test-pgf-verson.log | grep PGFVersion | sed ‘s/PGFVersion=//’
should display the version number. I happen to need to do this from R so using similar logic:
logFile <- ‘test-pgf-version.log‘
logContents <- readLines( logFile )
match <- logContents[ grep(‘PGFVersion=‘, logContents) ]
version <- gsub(‘[=A-Za-z-]‘,”,match)
print(version)
logContents <- readLines( logFile )
match <- logContents[ grep(‘PGFVersion=‘, logContents) ]
version <- gsub(‘[=A-Za-z-]‘,”,match)
print(version)
which accomplishes the same task as the second line above.
hi, could you explain why you add “\makeatletter” in the .tex file, and make the \end to \@@end ?
As far as I understand, \makeatletter makes the @ symbol useable in commands, this is necessary to use the \@@end command which unceremoniously stops all compilation and exits tex.