%% grabtexdata.tex %% part of the mathsPIC package %% example file used in Chapter 8 of the mathsPICmanual %% (accessing TeX parameter values) %% RWD Nickalls (c) April 2010 %% dick@nickalls.org %%======================================================== %% for extracting TeX-file data into mathspic var commands %%======================================================== \scrollmode % prevent LaTeX stopping if there are errors %--------------------- % make a print command macro \newcommand{\print}[1]{\immediate\write\outfile{#1}} %--------------------- % make a comment % command macro % first need to define percentchar for the write statement % (From "TeX for the Impatient" (1990), p 292) {\catcode`\%=12 \global\def\percentchar{%}}% \newcommand{\comment}{\percentchar\space} % % make a \macro command --> %def \newcommand{\mydef}{def} \newcommand{\macro}{\percentchar\mydef\space} %---------------------- % create and open a new file with filename = textfiledata.dat \newwrite\outfile \immediate\openout\outfile=texfiledata.dat %---------------------- %% write file header & general info \print{\percentchar\percentchar\space file: texdata.dat} \print{\percentchar\percentchar\space accessing TeX parameter values} %--------------------- %% now get \textwidth and \textheight values from the tex file \print{\comment ============} \print{var w555 = \number\textwidth\comment\textwidth=scaled points} \print{var w556 = \number\textwidth\comment\textwidth=\the\textwidth} \print{var w557 = \number\textwidth/1864679.8\comment (\textwidth in cms)} \print{\macro textwidthcms()\number\textwidth/1864679.8\comment} \print{\macro textheightcms()\number\textheight/1864679.8\comment} \print{\comment ============} %-------------------- % close the file \immediate\closeout\outfile %%=========end=========================