%% thermo.sty %% David Chiang %% dchiang at cis dot upenn dot edu %% 30 June 2004 %% This file is released under the GPL version 2 %% Pieces of this file are from Jeff Goldberg's lastpage.sty \newif\ifthermo@on \thermo@ontrue \def\thermometeroff{% \thermo@onfalse \addtocounter{page}{-1}% \immediate\write\@auxout{\string \newlabel{ThermoLastPage}{{}{\thepage}}}% \addtocounter{page}{1}} \AtEndDocument{% \ifthermo@on\clearpage\thermometeroff\fi}% \newlength{\thermometerlength} \setlength{\thermometerlength}{1in} \newlength{\thermometerheight} \setlength{\thermometerheight}{6pt} \newlength{\thermometerframe} \setlength{\thermometerframe}{0.4pt} % f=frame, m=mercury, e=empty \def\thermometerclear{\thermo@ht0pt\thermometerframe0pt} \def\thermo@fsty{} \def\thermo@msty{} \def\thermo@esty{\thermometerclear} \def\thermometerstyle#1#2#3{\def\thermo@fsty{#1}\def\thermo@msty{#2}\def\thermo@esty{#3}} \newlength{\thermo@wd} \newlength{\thermo@ht} \DeclareRobustCommand{\thermometer}{% \ifthermo@on {\thermo@fsty\fboxsep0pt\fboxrule\thermometerframe\fbox{% \ifx\r@ThermoLastPage\undefined \setlength{\thermo@wd}{0pt}% \else \ifnum\thepage>\pageref{ThermoLastPage}% \setlength{\thermo@wd}{\thermometerlength}% \else \setlength{\thermo@wd}{\thermometerlength}% \multiply\thermo@wd by \thepage \divide\thermo@wd by \pageref{ThermoLastPage}% \fi \fi \setlength{\thermo@ht}{\thermometerheight}% \makebox[\thermometerlength][l]{\rule{0pt}{\thermometerheight}% {\thermo@msty\rule{\thermo@wd}{\thermo@ht}}% \multiply\thermo@wd by -1 \addtolength{\thermo@wd}{\thermometerlength}% {\thermo@esty\rule{\thermo@wd}{\thermo@ht}}% }}}% \fi }