texlive[56854] Master/texmf-dist: fgruler (4nov20)
commits+karl at tug.org
commits+karl at tug.org
Wed Nov 4 22:36:11 CET 2020
Revision: 56854
http://tug.org/svn/texlive?view=revision&revision=56854
Author: karl
Date: 2020-11-04 22:36:11 +0100 (Wed, 04 Nov 2020)
Log Message:
-----------
fgruler (4nov20)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/fgruler/fgruler.pdf
trunk/Master/texmf-dist/source/latex/fgruler/fgruler.dtx
trunk/Master/texmf-dist/tex/latex/fgruler/fgruler.sty
Modified: trunk/Master/texmf-dist/doc/latex/fgruler/fgruler.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/fgruler/fgruler.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fgruler/fgruler.dtx 2020-11-04 21:35:59 UTC (rev 56853)
+++ trunk/Master/texmf-dist/source/latex/fgruler/fgruler.dtx 2020-11-04 21:36:11 UTC (rev 56854)
@@ -21,7 +21,7 @@
\ProvidesFile{fgruler.dtx}
%</driver>
%<package>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-%<package>\ProvidesPackage{fgruler}[2020/10/26 v1.2 Package for drawing rulers on the foreground or in the text]
+%<package>\ProvidesPackage{fgruler}[2020/11/04 v1.3 Package for drawing rulers on the foreground or in the text]
%
%<*driver>
\documentclass{ltxdoc}
@@ -28,6 +28,8 @@
\OnlyDescription
\usepackage[a4paper,margin=25mm,marginparwidth=19mm,marginparsep=5mm,headsep=5mm,headheight=4mm,footskip=10mm]{geometry}
\usepackage[pdfstartview=FitH,colorlinks,allcolors=black,bookmarksnumbered,hyperfootnotes=false]{hyperref}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
\usepackage[english]{babel}
\usepackage{listings,fontawesome,fancyvrb}
\usepackage[type=none,color=red!80!black]{fgruler}
@@ -64,7 +66,7 @@
%
% \GetFileInfo{fgruler.sty}
%
-% \title{The {\bfseries\sffamily fgruler} package\\{\large v1.2 (2020/10/26)}}
+% \title{The {\bfseries\sffamily fgruler} package\\{\large v1.3 (2020/11/04)}}
% \author{Tibor T\'{o}m\'{a}cs\\{\normalsize\url{tomacs.tibor at uni-eszterhazy.hu}}}
% \date{}
% \maketitle
@@ -102,57 +104,59 @@
% By default, the \texttt{fgruler} package draws a square ruler on the foreground of every page. The following package options set the parameters of these rulers.
% \begin{description}
% \item\commandinline|unit=!<unit>!|\\
-% Ruler unit.
+% Ruler unit. The \commandinline|!<unit>!| legal values:
% \begin{description}
-% \item\commandinline|!<unit>!| values:\\
-% \commandinline|cm| Metric ruler (centimeter). Default value.\\
-% \commandinline|in| English ruler (inch).
+% \item\commandinline|cm| Metric ruler (centimeter). Default value.
+% \item\commandinline|in| English ruler (inch).
% \end{description}
%
% \item\commandinline|type=!<type name>!|\\
-% Origin and directions.
+% Origin, directions and lengths of the ruler. The \commandinline|!<type name>!| legal values:
% \begin{description}
-% \item\commandinline|!<type name>!| values:\\
-% \commandinline|upperleft | Origin: upper left corner. Directions: down and right. Default value.\\
-% \commandinline|upperright| Origin: upper right corner. Directions: down and left.\\
-% \commandinline|lowerleft | Origin: lower left corner. Directions: up and right.\\
-% \commandinline|lowerright| Origin: lower right corner. Directions: up and left.\\
-% \commandinline|none | Not drawing ruler.\\
-% \commandinline|user | Each \commandinline|!<unit>!|--\commandinline|!<type name>!| pair activates an \commandinline|\fgruler@!<unit>!@!<type name>!@fg| command. You can control the effect of this option by redefining the \commandinline|\fgruler@!<unit>!@user at fg| commands, which are empty in the default case. (See \ref{example:user1}, \ref{example:user2} and \ref{example:user3} examples.)
+% \item\commandinline|upperleft | Default value. Origin: upper left corner of the paper. Directions: down and right. Lengths: paper sizes.
+% \item\commandinline|upperright | Origin: upper right corner of the paper. Directions: down and left. Lengths: paper sizes.
+% \item\commandinline|lowerleft | Origin: lower left corner of the paper. Directions: up and right. Lengths: paper sizes.
+% \item\commandinline|lowerright | Origin: lower right corner of the paper. Directions: up and left. Lengths: paper sizes.
+% \item\commandinline|upperleftT | Origin: upper left corner of the text area. Directions: down and right. Lengths: text area sizes.
+% \item\commandinline|upperrightT| Origin: upper right corner of the text area. Directions: down and left. Lengths: text area sizes.
+% \item\commandinline|lowerleftT | Origin: lower left corner of the text area. Directions: up and right. Lengths: text area sizes.
+% \item\commandinline|lowerrightT| Origin: lower right corner of the text area. Directions: up and left. Lengths: text area sizes.
+% \item\commandinline|none| Not drawing ruler.
+% \item\commandinline|user| Each \commandinline|!<unit>!|--\commandinline|!<type name>!| pair activates an \commandinline|\fgruler@!<unit>!@!<type name>!@fg| command, which is equivalent to \commandinline|\fgrulertype{!<unit>!}{!<type name>!}|.\\
+% You can control the effect of this option by redefining the \commandinline|\fgruler@!<unit>!@user at fg| commands, which are empty in the default case.\\
+% \commandinline|\def\fgruler at cm@user at fg{!<code>!}| is equivalent to \commandinline|\fgrulerdefusercm{!<code>!}|.\\
+% Similarly, \commandinline|\def\fgruler at in@user at fg{!<code>!}| is equivalent to \commandinline|\fgrulerdefuserin{!<code>!}|.\\
+% See \ref{example:user-first}--\ref{example:user-last} examples.
% \end{description}
%
% \item\commandinline|hshift=!<length>!|\\
-% Horizontal shift.
-% The shift direction is right, if the \commandinline|!<type name>!| is \verb|upperleft| or \verb|lowerleft|, otherwise it is left.\\
-% Default: \verb|hshift=0cm|.\\ The \commandinline|!<length>!| is saved in \commandinline|\fgruler at hshift|.
+% Horizontal shift of the ruler, if the \commandinline|!<type name>!| is \verb|upperleft|, \verb|lowerleft|, \verb|upperright| or \verb|lowerright|.
+% The shift direction is right, if the \commandinline|!<type name>!| is \verb|upperleft| or \verb|lowerleft|.
+% The shift direction is left, if the \commandinline|!<type name>!| is \verb|upperright| or \verb|lowerright|.
+% Default: \verb|hshift=0cm|.
%
% \item\commandinline|vshift=!<length>!|\\
-% Vertical shift.
-% The shift direction is down, if the \commandinline|!<type name>!| is \verb|upperleft| or \verb|upperright|, otherwise it is up.\\
-% Default: \verb|vshift=0cm|.\\ The \commandinline|!<length>!| is saved in \commandinline|\fgruler at vshift|.
+% Vertical shift of the ruler, if the \commandinline|!<type name>!| is \verb|upperleft|, \verb|lowerleft|, \verb|upperright| or \verb|lowerright|.
+% The shift direction is down, if the \commandinline|!<type name>!| is \verb|upperleft| or \verb|upperright|.
+% The shift direction is up, if the \commandinline|!<type name>!| is \verb|lowerleft| or \verb|lowerright|.
+% Default: \verb|vshift=0cm|.
%
% \item\commandinline|color=!<color name>!|\\
-% Ruler color (see \texttt{xcolor} package).\\
-% Default: \verb|color=black|.\\ The \commandinline|!<color name>!| is saved in \commandinline|\fgruler at color|.
+% Ruler color (see \texttt{xcolor} package). Default: \verb|color=black|.
%
% \item\commandinline|numsep=!<length>!|\\
-% Separation between number and ruler.\\
-% Default: \verb|numsep=3pt|.\\ The \commandinline|!<length>!| is saved in \commandinline|\fgruler at numsep|.
+% Separation between number and ruler. Default: \verb|numsep=3pt|.
%
% \item\commandinline|markthick=!<length>!|\\
-% Mark thickness.\\
-% Default: \verb|markthick=0.4pt|.\\ The \commandinline|!<length>!| is saved in \commandinline|\fgruler at markthick|.
+% Mark thickness. Default: \verb|markthick=0.4pt|.
%
% \item\commandinline|marklength=!<length>!|\\
-% Mark length at integer units:
-% {\fgrulernoborderline\fgrulercaptioncm{}\fgrulerthickcm{}{}{1pt}\fgrulercolorcm{}{}{red}\ruler{rightup}{3cm}}\\
-% Default: \verb|marklength=2mm|.\\ The \commandinline|!<length>!| is saved in \commandinline|\fgruler at marklength|.\\
-% See the length of the other marks in Section \ref{sec:additional}.
+% Mark length at integer units (see the red marks):
+% {\fgrulernoborderline\fgrulercaptioncm{}\fgrulerthickcm{}{}{1pt}\fgrulercolorcm{}{}{red}\ruler{rightup}{3cm}}
+% Default: \verb|marklength=2mm|. See the length of the other marks in Section \ref{sec:additional}.
%
% \item\commandinline|numfont=!<font type>!|\\
-% Number font type.\\
-% You can use this option only in \verb|\setfgruler| command.\\
-% Default: \verb|numfont=\scriptsize\sffamily|.\\ The \commandinline|!<font type>!| is saved in \commandinline|\fgruler at numfont|.
+% Number font type. Default: \verb|numfont=\scriptsize\sffamily|. You can use this option only in \verb|\setfgruler| command.
%
% \item\commandinline|showframe| or \commandinline|showframe=true|\\
% It draws visible frames for the text and margin area, and lines for the head and foot.
@@ -297,15 +301,15 @@
% \item For example, \verb|\rulerparams{}{}{red}{}{}| changes the ruler color to red.
% \end{description}
%
+% \item\commandinline|\rulerparamsfromfg|\\
+% It sets the ruler parameters from the actual foreground ruler parameters.
+%
% \item\commandinline|\rulernorotatenum|\\
% By default, the numbers of the vertical rulers (which were generated by \verb|\ruler| or \verb|\squareruler|) are rotated by 90$^\circ$.
% It kills this action.
% This command is usable only in \texttt{document} environment.
%
-% Example: \verb|\ruler{upright}{1cm}| \ruler{upright}{1cm}\\
-% but
-% \verb|{\rulernorotatenum\ruler{upright}{1cm}}|
-% {\rulernorotatenum\ruler{upright}{1cm}}
+% Example: \verb|{\rulernorotatenum\ruler{upright}{1cm}}| {\rulernorotatenum\ruler{upright}{1cm}}
%
% \item\commandinline|\rulerrotatenum|\\
% After \verb|\rulernorotatenum|, it reactivates the number rotating.
@@ -316,19 +320,28 @@
% The following commands can work on all of the rulers, which are drawn by \texttt{fgruler} package.
% \begin{description}
% \item\commandinline|\fgrulerstartnum{!<num>!}|\\
-% The \commandinline|!<num>!| is a nonnegative integer, which will be the starting number on the ruler.
+% The \commandinline|!<num>!| is a nonnegative integer, which will be the starting number on the horizontal and vertical rulers.
% Default: \verb|\fgrulerstartnum{0}|
%
-% Example: \verb|{\fgrulerstartnum{5}\ruler{rightup}{3cm}}| {\fgrulerstartnum{5}\ruler{rightup}{3cm}}
+% Example: \verb|{\fgrulerstartnum{5}\squareruler{lowerleft}{3cm}{1cm}}| {\fgrulerstartnum{5}\squareruler{lowerleft}{3cm}{1cm}}
%
+% \item\commandinline|\fgrulerstartnumh{!<num>!}|\\
+% The \commandinline|!<num>!| is a nonnegative integer, which will be the starting number on the horizontal rulers.
+% Default: \verb|\fgrulerstartnumh{0}|
+%
+% Example: \verb|{\fgrulerstartnumh{5}\squareruler{lowerleft}{3cm}{1cm}}| {\fgrulerstartnumh{5}\squareruler{lowerleft}{3cm}{1cm}}
+%
+% \item\commandinline|\fgrulerstartnumv{!<num>!}|\\
+% The \commandinline|!<num>!| is a nonnegative integer, which will be the starting number on the vertical rulers.
+% Default: \verb|\fgrulerstartnumv{0}|
+%
+% Example: \verb|{\fgrulerstartnumv{5}\squareruler{lowerleft}{3cm}{1cm}}| {\fgrulerstartnumv{5}\squareruler{lowerleft}{3cm}{1cm}}
+%
% \item\commandinline|\fgrulernoborderline|\\
% By default, there is a borderline on one side of the ruler.
% It disappears by this command.
%
-% Example: \verb|\ruler{rightup}{3cm}| \ruler{rightup}{3cm}\\
-% but
-% \verb|{\fgrulernoborderline\ruler{rightup}{3cm}}|
-% {\fgrulernoborderline\ruler{rightup}{3cm}}
+% Example: \verb|{\fgrulernoborderline\ruler{rightup}{3cm}}| {\fgrulernoborderline\ruler{rightup}{3cm}}
%
% \item\commandinline|\fgrulerborderline|\\
% After \verb|\fgrulernoborderline|, it reactivates the previous default effect.
@@ -337,10 +350,7 @@
% Unit caption in metric ruler.
% Default: \verb|\fgrulercaptioncm{cm}|
%
-% Example: \verb|\ruler{rightup}{3cm}| \ruler{rightup}{3cm}\\
-% but
-% \verb|{\fgrulercaptioncm{}\ruler{rightup}{3cm}}|
-% {\fgrulercaptioncm{}\ruler{rightup}{3cm}}
+% Example: \verb|{\fgrulercaptioncm{}\ruler{rightup}{3cm}}| {\fgrulercaptioncm{}\ruler{rightup}{3cm}}
%
% \item\commandinline|\fgrulercaptionin{!<caption>!}|\\
% Unit caption in English ruler.
@@ -351,9 +361,7 @@
% Its current value is printed by the \commandinline|\thefgrulernum|.
% Its default definition is \verb|\def\thefgrulernum{\arabic{fgrulernum}}|, which is equivalent to \verb|\fgrulerdefnum{\arabic{fgrulernum}}|.
%
-% Example:\\
-% \verb|{\fgrulerdefnum{}\fgrulercaptioncm{}\ruler{rightdown}{2cm}}|
-% {\fgrulerdefnum{}\fgrulercaptioncm{}\ruler{rightdown}{2cm}}
+% Example: \verb|{\fgrulerdefnum{}\fgrulercaptioncm{}\ruler{rightdown}{2cm}}| {\fgrulerdefnum{}\fgrulercaptioncm{}\ruler{rightdown}{2cm}}
%
% \item\commandinline|\fgrulerratiocm{!<ratio1>!}{!<ratio2>!}|\\
% Mark length ratios in metric rulers.
@@ -516,12 +524,12 @@
% \end{description}
%
% \medskip\noindent\textcolor{red}{\faWarning}
-% All setting commands\footnote{Namely \verb|\setfgruler|, \verb|\rulerparams|, \verb|\rulernorotatenum|, \verb|\rulerrotatenum|, furthermore all commands in this section.} obey the normal scoping rules, i.e.\ if you use them inside a group, then the changing of the parameters is not valid outside the group.
+% All setting commands obey the normal scoping rules, i.e.\ if you use them inside a group, then the changing of the parameters is not valid outside the group.
%
% \newpage\fgrulerreset
% \section{Examples}
% \subsection{Deafult case}
-% The output of the following code is the ruler in this page. It is the default case.
+% The output of the following example is the ruler in this page. It is the default case.
% \begin{examplelst}
% \documentclass{article}
% \usepackage{fgruler}
@@ -531,7 +539,7 @@
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{The `showframe' option}
+% \subsection{The \texttt{showframe} and \texttt{color} options}
% \setfgruler{color=red,showframe}
% \begin{examplelst}
% \documentclass{article}
@@ -542,7 +550,7 @@
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{Shifting in default case}
+% \subsection{Shift in default case}
% \setfgruler{hshift=1cm,vshift=2cm}
% \begin{examplelst}
% \documentclass{article}
@@ -553,7 +561,7 @@
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{Shifting in case `type=upperright' option}
+% \subsection{Shift in case \texttt{type=upperright} option}
% \setfgruler{type=upperright,hshift=1cm,vshift=2cm}
% \begin{examplelst}
% \documentclass{article}
@@ -564,7 +572,7 @@
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{Shifting in case `type=lowerleft' option}
+% \subsection{Shift in case \texttt{type=lowerleft} option}
% \setfgruler{type=lowerleft,hshift=1cm,vshift=2cm}
% \begin{examplelst}
% \documentclass{article}
@@ -575,7 +583,7 @@
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{Shifting in case `type=lowerright' option}
+% \subsection{Shift in case \texttt{type=lowerright} option}
% \setfgruler{type=lowerright,hshift=1cm,vshift=2cm}
% \begin{examplelst}
% \documentclass{article}
@@ -586,104 +594,132 @@
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{An example for the `type=user' option}\label{example:user1}
+% \subsection{The \texttt{type=upperleftT} option}
+% \setfgruler{type=upperleftT}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=upperleftT]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{Setting the \texttt{type=user} option}\label{example:user-first}
+% In the next example the \texttt{type=user} option activates \texttt{type=upperright} or \texttt{type=upperleft}, depending on the page number is odd or even.
% \setfgruler{type=none}
% \begin{examplelst}
% \documentclass{article}
% \usepackage[type=user]{fgruler}
-% \makeatletter
-% \def\fgruler at cm@user at fg{%
-% \ifodd\value{page}\fgruler at cm@upperright at fg%
-% \else\fgruler at cm@upperleft at fg\fi}
-% \def\fgruler at in@user at fg{%
-% \ifodd\value{page}\fgruler at in@upperright at fg%
-% \else\fgruler at in@upperleft at fg\fi}
-% \makeatother
+% \fgrulerdefusercm{%
+% \ifodd\value{page}\fgrulertype{cm}{upperright}%
+% \else\fgrulertype{cm}{upperleft}\fi}
+% \fgrulerdefuserin{%
+% \ifodd\value{page}\fgrulertype{in}{upperright}%
+% \else\fgrulertype{in}{upperleft}\fi}
% \begin{document}
% ...
% \end{document}
% \end{examplelst}
-% In this case the \texttt{type=upperright} option will be activated, if the page number is odd. Otherwise \texttt{type=upperleft} will be activated.
%
% \newpage\fgrulerreset
-% \subsection{An other example for the `type=user' option}\label{example:user2}
-% \setfgruler{type=user,color=red}
-%\makeatletter
-%\newlength{\fgruler at tempdim}
-%\renewcommand{\fgruler at cm@user at fg}{\AtTextLowerLeft{\ignorespaces%
-%\settowidth{\fgruler at tempdim}{\ruler{downleft}{\textheight}}%
-%\rulerparams{}{}{\fgruler at color}{}{}%
-%\put(-\fgruler at tempdim,0){\ignorespaces%
-%\rulernorotatenum\fgrulercaptioncm{}\ruler{downleft}{\textheight}}%
-%\put(0,\textheight){\ignorespaces\ruler{rightup}{\textwidth}}}}
-%\makeatother
+% \subsection{Setting the \texttt{type=user} option}
+% In the next example the \texttt{type=user} option combines the effect of \texttt{type=upperleft} and \texttt{type=upperleftT}.
+% \setfgruler{type=user}
+% \fgrulerdefusercm{\fgrulertype{cm}{upperleft}\fgrulertype{cm}{upperleftT}}
% \begin{examplelst}
% \documentclass{article}
-% \usepackage[type=user,color=red]{fgruler}
-% \makeatletter
-% \newlength{\fgruler at tempdim}
-% \newcommand{\fgruler at user}[1]{%
-% \AtTextLowerLeft{% See eso-pic package!
-% \rulerparams{\fgruler at markthick}{\fgruler at numfont}{\fgruler at color}%
-% {\fgruler at marklength}{\fgruler at numsep}%
-% \settowidth{\fgruler at tempdim}{\ruler[#1]{downleft}{\textheight}}%
-% \put(-\fgruler at tempdim,0){%
-% \rulernorotatenum%
-% \fgrulercaptioncm{}%
-% \fgrulercaptionin{}%
-% \ruler[#1]{downleft}{\textheight}%
+% \usepackage[type=user]{fgruler}
+% \fgrulerdefusercm{\fgrulertype{cm}{upperleft}\fgrulertype{cm}{upperleftT}}
+% \fgrulerdefuserin{\fgrulertype{in}{upperleft}\fgrulertype{in}{upperleftT}}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{Setting the \texttt{type=user} option}
+% In this example the \texttt{type=user} option combines the effect of \texttt{type=upperleftT} and \texttt{type=lowerrightT}.
+% \setfgruler{type=user}
+% \fgrulerdefusercm{\fgrulertype{cm}{upperleftT}\fgrulertype{cm}{lowerrightT}}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=user]{fgruler}
+% \fgrulerdefusercm{\fgrulertype{cm}{upperleftT}\fgrulertype{cm}{lowerrightT}}
+% \fgrulerdefuserin{\fgrulertype{in}{upperleftT}\fgrulertype{in}{lowerrightT}}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{Setting the \texttt{type=user} option}
+% In the next example the \texttt{type=user} option places a vertical ruler at the left border of the text area.
+% \setfgruler{type=user}
+%\fgrulerdefusercm{\AtTextLowerLeft{\ignorespaces\rulerparamsfromfg\llap{\ruler{downleft}{\textheight}}}}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=user]{fgruler}
+% \newcommand{\fgruleruser}[1]{%
+% \AtTextLowerLeft{% See eso-pic package!
+% \rulerparamsfromfg%
+% \llap{\ruler[#1]{downleft}{\textheight}}%
% }%
-% \put(0,\textheight){%
-% \ruler[#1]{rightup}{\textwidth}%
+% }
+% \fgrulerdefusercm{\fgruleruser{cm}}
+% \fgrulerdefuserin{\fgruleruser{in}}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{Setting the \texttt{type=user} option}
+% In the next example the \texttt{type=user} option places rulers at the right and bottom borders of the text area.
+% \setfgruler{type=user}
+%\fgrulerdefusercm{\AtTextLowerLeft{\ignorespaces\rulerparamsfromfg\rulernorotatenum\llap{\ruler{downleft}{\textheight}}\ruler*{rightdown}{\textwidth}}}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=user]{fgruler}
+% \newcommand{\fgruleruser}[1]{%
+% \AtTextLowerLeft{% See eso-pic package!
+% \rulerparamsfromfg%
+% \rulernorotatenum%
+% \llap{\ruler[#1]{downleft}{\textheight}}%
+% \ruler*[#1]{rightdown}{\textwidth}%
% }%
-% }%
% }
-% \renewcommand{\fgruler at cm@user at fg}{\fgruler at user{cm}}
-% \renewcommand{\fgruler at in@user at fg}{\fgruler at user{in}}
-% \makeatother
+% \fgrulerdefusercm{\fgruleruser{cm}}
+% \fgrulerdefuserin{\fgruleruser{in}}
% \begin{document}
% ...
% \end{document}
% \end{examplelst}
-% This code places rulers at the left and the top border of the body. In this case the \texttt{hshift} and \texttt{vshift} options don't work.
%
% \newpage\fgrulerreset
-% \subsection{The third example for the `type=user' option}\label{example:user3}
-% \setfgruler{type=user,color=blue}
-%\makeatletter
-%\renewcommand{\fgruler at cm@user at fg}{\fgruler at cm@upperleft at fg\AtTextLowerLeft{\ignorespaces%
-%\rulerparams{}{}{\fgruler at color}{}{}%
-%\put(\textwidth,0){\ignorespaces%
-%\rulernorotatenum\fgrulercaptioncm{}\ruler{downright}{\textheight}}%
-%\put(0,\textheight){\ignorespaces\ruler{rightup}{\textwidth}}}}
-%\makeatother
+% \subsection{Setting the \texttt{type=user} option}\label{example:user-last}
+% In the next example the \texttt{type=user} option places rulers at the right and top borders of the text area.
+% \setfgruler{type=user}
+%\fgrulerdefusercm{\AtTextUpperLeft{\ignorespaces%
+%\rulerparamsfromfg\ruler{rightup}{\textwidth}\ignorespaces%
+%\rulernorotatenum\fgrulercaptioncm{}\ignorespaces\ruler*{downright}{\textheight}}}
% \begin{examplelst}
% \documentclass{article}
-% \usepackage[type=user,color=blue]{fgruler}
-% \makeatletter
-% \newcommand{\fgruler at user}[1]{%
-% \AtTextLowerLeft{% See eso-pic package!
-% \rulerparams{\fgruler at markthick}{\fgruler at numfont}{\fgruler at color}%
-% {\fgruler at marklength}{\fgruler at numsep}%
-% \put(\textwidth,0){%
-% \rulernorotatenum%
-% \fgrulercaptioncm{}%
-% \fgrulercaptionin{}%
-% \ruler[#1]{downright}{\textheight}%
+% \usepackage[type=user]{fgruler}
+% \newcommand{\fgruleruser}[1]{%
+% \AtTextUpperLeft{% See eso-pic package!
+% \rulerparamsfromfg%
+% \ruler[#1]{rightup}{\textwidth}%
+% \rulernorotatenum\fgrulercaptioncm{}\fgrulercaptionin{}%
+% \ruler*[#1]{downright}{\textheight}%
% }%
-% \put(0,\textheight){%
-% \ruler[#1]{rightup}{\textwidth}%
-% }%
-% }%
% }
-% \renewcommand{\fgruler at cm@user at fg}{\fgruler at cm@upperleft at fg\fgruler at user{cm}}
-% \renewcommand{\fgruler at in@user at fg}{\fgruler at in@upperleft at fg\fgruler at user{in}}
-% \makeatother
+% \fgrulerdefusercm{\fgruleruser{cm}}
+% \fgrulerdefuserin{\fgruleruser{in}}
% \begin{document}
% ...
% \end{document}
% \end{examplelst}
-% In this code the effect of \texttt{type=user} is similar to \texttt{type=upperleft}, but it places further rulers at the right and the top border of the body.
%
% \newpage\fgrulerreset
% \subsection{Rulers on the foreground of a given page, and in text}
@@ -711,10 +747,10 @@
% text
% \ruler*{rightdown}{3cm}
% text
-% \rotatebox[origin=tl]{30}{\ruler*{rightdown}{3cm}}
+% \rotatebox[origin=tl]{30}{\ruler*{rightdown}{3cm}}
+% % \rotatebox is defined in graphicx package
% \end{document}
% \end{examplelst}
-% \emph{Remark.} The \verb|\rotatebox| command is defined in the \texttt{graphicx} package!
%
% \newpage\fgrulerreset
% \subsection{Ruler types in text}
@@ -874,31 +910,18 @@
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{A new square ruler}
+% \subsection{A new square ruler type}
% \setfgruler{type=none}
+% {\rulernorotatenum\fgrulercaptioncm{}\ruler*{downleft}{5cm}}\ruler{rightup}{3cm}
%
-% \makeatletter
-% \newcommand{\usersquareruler}[2]{
-% \begin{picture}(#1+1em+\fgruler at marklength,#2+1em+\fgruler at marklength)
-% {\fgrulercaptioncm{}
-% \ruler{downleft}{#2}}
-% \put(0,#2){\ruler{rightup}{#1}}
-% \end{picture}}
-% \makeatother
-% \usersquareruler{3cm}{5cm}
-%
% \bigskip
% \begin{examplelst}
% \documentclass{article}
% \usepackage[type=none]{fgruler}
-% \makeatletter
% \newcommand{\usersquareruler}[2]{%
-% \begin{picture}(#1+1em+\fgruler at marklength,#2+1em+\fgruler at marklength)%
-% {\fgrulercaptioncm{}%
-% \ruler{downleft}{#2}}%
-% \put(0,#2){\ruler{rightup}{#1}}%
-% \end{picture}}
-% \makeatother
+% {\rulernorotatenum\fgrulercaptioncm{}\ruler*{downleft}{#2}}%
+% \ruler{rightup}{#1}%
+% }
% \begin{document}
% \usersquareruler{3cm}{5cm}
% \end{document}
@@ -953,6 +976,8 @@
\rulerparams{.4pt}{\scriptsize\sffamily}{black}{2mm}{3pt}
+\def\rulerparamsfromfg{\rulerparams{\fgruler at markthick}{\fgruler at numfont}{\fgruler at color}{\fgruler at marklength}{\fgruler at numsep}}
+
\def\fgruler at fgsetting{%
\fgruler at set{\fgruler at markthick}{\fgruler at numfont}{\fgruler at color}{\fgruler at marklength}{\fgruler at numsep}%
\rulernorotatenum}
@@ -963,14 +988,24 @@
\def\fgruler at activate@type{%
\def\fgruler at check{cm}\ifx\fgruler at unit\fgruler at check\else%
\def\fgruler at check{in}\ifx\fgruler at unit\fgruler at check\else%
-\@latexerr{Undefined unit: \fgruler at unit\space(Defined units: cm, in)}{}\fi\fi%
+\PackageError{fgruler}{\fgruler at unit\space is invalid unit}{Valid units: cm, in}%
+\fi\fi%
\def\fgruler at check{upperleft}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{upperright}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{lowerleft}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{lowerright}\ifx\fgruler at type\fgruler at check\else%
+\def\fgruler at check{upperleftT}\ifx\fgruler at type\fgruler at check\else%
+\def\fgruler at check{upperrightT}\ifx\fgruler at type\fgruler at check\else%
+\def\fgruler at check{lowerleftT}\ifx\fgruler at type\fgruler at check\else%
+\def\fgruler at check{lowerrightT}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{none}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{user}\ifx\fgruler at type\fgruler at check\else%
-\@latexerr{Undefined type: \fgruler at type\space(Defined types: upperleft, upperright, lowerleft, lowerright, user, none)}{}\fi\fi\fi\fi\fi\fi%
+\PackageError{fgruler}{\fgruler at type\space is invalid type}%
+{Valid types:\MessageBreak
+upperleft, upperright, lowerleft, lowerright,\MessageBreak
+upperleftT, upperrightT, lowerleftT, lowerrightT,\MessageBreak
+user, none}%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
\def\fgruler at output{\csname fgruler@\fgruler at unit @\fgruler at type @fg\endcsname}}
\def\fgrulerratiocm#1#2{%
@@ -1051,7 +1086,7 @@
\def\fgruler at param{#1}%
\def\fgruler at check{cm}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{in}\ifx\fgruler at param\fgruler at check\else%
-\@latexerr{Invalid parameter: \fgruler at param\space(Defined parameters: cm, in)}{}%
+\PackageError{fgruler}{\fgruler at param\space is invalid parameter}{Valid parameters: cm, in}%
\fi\fi%
\def\fgruler at param{#2}%
\def\fgruler at check{rightdown}\ifx\fgruler at param\fgruler at check\else%
@@ -1062,7 +1097,10 @@
\def\fgruler at check{downleft}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{upright}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{upleft}\ifx\fgruler at param\fgruler at check\else%
-\@latexerr{Invalid parameter: \fgruler at param\space(Defined parameters: rightdown, rightup, leftdown, leftup, downright, downleft, upright, upleft)}{}%
+\PackageError{fgruler}{\fgruler at param\space is invalid parameter}%
+{Valid parameters:\MessageBreak
+rightdown, rightup, leftdown, leftup,\MessageBreak
+downright, downleft, upright, upleft}%
\fi\fi\fi\fi\fi\fi\fi\fi}
\def\fgruler at check@param@#1#2{%
@@ -1069,7 +1107,7 @@
\def\fgruler at param{#1}%
\def\fgruler at check{cm}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{in}\ifx\fgruler at param\fgruler at check\else%
-\@latexerr{Invalid parameter: \fgruler at param\space(Defined parameters: cm, in)}{}%
+\PackageError{fgruler}{\fgruler at param\space is invalid parameter}{Valid parameters: cm, in}%
\fi\fi%
\def\fgruler at param{#2}%
\def\fgruler at check{upperleft}\ifx\fgruler at param\fgruler at check\else%
@@ -1076,7 +1114,9 @@
\def\fgruler at check{upperright}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{lowerleft}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{lowerright}\ifx\fgruler at param\fgruler at check\else%
-\@latexerr{Invalid parameter: \fgruler at param\space(Defined parameters: upperleft, upperright, lowerleft, lowerright)}{}%
+\PackageError{fgruler}{\fgruler at param\space is invalid parameter}%
+{Valid parameters:\MessageBreak
+upperleft, upperright, lowerleft, lowerright}%
\fi\fi\fi\fi}
\newcommand{\fgruler at ruler}[3][cm]{\fgruler at check@param{#1}{#2}\fgruler at intextsetting\csname fgruler@#1@#2@\endcsname{#3}}
@@ -1110,8 +1150,11 @@
\def\fgruler at ifodd#1{\ifodd\value{fgrulernum}#1\fi\stepcounter{fgrulernum}}
-\def\fgrulerstartnum#1{\def\fgruler at startnum{#1}\ignorespaces}
-\def\fgruler at startnum{0}
+\def\fgrulerstartnum#1{\def\fgruler at startnumh{#1}\def\fgruler at startnumv{#1}\ignorespaces}
+\def\fgrulerstartnumh#1{\def\fgruler at startnumh{#1}\ignorespaces}
+\def\fgrulerstartnumv#1{\def\fgruler at startnumv{#1}\ignorespaces}
+\def\fgruler at startnumh{0}
+\def\fgruler at startnumv{0}
\def\fgrulerdefnum#1{\def\thefgrulernum{#1}\ignorespaces}
@@ -1120,13 +1163,13 @@
\def\rulernorotatenum{%
\ifx\@onlypreamble\@notprerr%
\def\fgruler at rotatebox##1##2{##2}%
-\else\@latexerr{Don't use \protect\rulernorotatenum\space in preamble!}{}\fi%
+\else\PackageError{fgruler}{Don't use \protect\rulernorotatenum\space in preamble!}{}\fi%
\ignorespaces}
\def\rulerrotatenum{%
\ifx\@onlypreamble\@notprerr%
\def\fgruler at rotatebox##1##2{\rotatebox{##1}{##2}}%
-\else\@latexerr{Don't use \protect\rulerrotatenum\space in preamble!}{}\fi%
+\else\PackageError{fgruler}{Don't use \protect\rulerrotatenum\space in preamble!}{}\fi%
\ignorespaces}
\def\fgrulerreset{%
@@ -1171,10 +1214,11 @@
\def\thefgrulernum{\arabic{fgrulernum}}%
\def\fgruler at caption@cm{cm}%
\def\fgruler at caption@in{inch}%
-\def\fgruler at startnum{0}%
+\def\fgruler at startnumh{0}%
+\def\fgruler at startnumv{0}%
\fgruler at borderlinetrue%
\fgruler at showframefalse%
-\else\@latexerr{Don't use \protect\fgrulerreset\space in preamble!}{}\fi%
+\else\PackageError{fgruler}{Don't use \protect\fgrulerreset\space in preamble!}{}\fi%
\ignorespaces}
\AtEndPreamble{
@@ -1261,7 +1305,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(10,0){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(0,-1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(10,-\fgruler at sep)(10,0){\fgruler at tempdima}{\makebox(0,0)[t]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at cm@rightdown@#1{%
@@ -1268,7 +1312,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(#1,\fgruler at width)(0,-\fgruler at width)%
\fgruler at cm@rightdown{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5cm\put(5,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@cm}}\fi%
\end{picture}}
@@ -1294,7 +1338,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(16,0){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(0,-1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(16,-\fgruler at sep)(16,0){\fgruler at tempdima}{\makebox(0,0)[t]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at in@rightdown@#1{%
@@ -1301,7 +1345,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(#1,\fgruler at width)(0,-\fgruler at width)%
\fgruler at in@rightdown{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5in\put(8,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@in}}\fi%
\end{picture}}
@@ -1321,7 +1365,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(10,0){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(0,1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(10,\fgruler at sep)(10,0){\fgruler at tempdima}{\makebox(0,0)[b]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at cm@rightup@#1{%
@@ -1328,7 +1372,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(#1,\fgruler at width)%
\fgruler at cm@rightup{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5cm\put(5,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@cm}}\fi%
\end{picture}}
@@ -1354,7 +1398,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(16,0){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(0,1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(16,\fgruler at sep)(16,0){\fgruler at tempdima}{\makebox(0,0)[b]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at in@rightup@#1{%
@@ -1361,7 +1405,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(#1,\fgruler at width)%
\fgruler at in@rightup{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5in\put(8,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@in}}\fi%
\end{picture}}
@@ -1381,7 +1425,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(-10,0){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(0,-1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(-1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(-10,-\fgruler at sep)(-10,0){\fgruler at tempdima}{\makebox(0,0)[t]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at cm@leftdown@#1{%
@@ -1388,7 +1432,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(#1,\fgruler at width)(-#1,-\fgruler at width)%
\fgruler at cm@leftdown{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5cm\put(-5,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@cm}}\fi%
\end{picture}}
@@ -1414,7 +1458,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(-16,0){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(0,-1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(-1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(-16,-\fgruler at sep)(-16,0){\fgruler at tempdima}{\makebox(0,0)[t]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at in@leftdown@#1{%
@@ -1421,7 +1465,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(#1,\fgruler at width)(-#1,-\fgruler at width)%
\fgruler at in@leftdown{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5in\put(-8,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@in}}\fi%
\end{picture}}
@@ -1441,7 +1485,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(-10,0){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(0,1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(-1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(-10,\fgruler at sep)(-10,0){\fgruler at tempdima}{\makebox(0,0)[b]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at cm@leftup@#1{%
@@ -1448,7 +1492,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(#1,\fgruler at width)(-#1,0)%
\fgruler at cm@leftup{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5cm\put(-5,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@cm}}\fi%
\end{picture}}
@@ -1474,7 +1518,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(-16,0){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(0,1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(-1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(-16,\fgruler at sep)(-16,0){\fgruler at tempdima}{\makebox(0,0)[b]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at in@leftup@#1{%
@@ -1481,7 +1525,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(#1,\fgruler at width)(-#1,0)%
\fgruler at in@leftup{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5in\put(-8,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@in}}\fi%
\end{picture}}
@@ -1501,7 +1545,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(0,-10){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,-1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(\fgruler at sep,-10)(0,-10){\fgruler at tempdima}{\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at cm@downright@#1{%
@@ -1508,7 +1552,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(\fgruler at width,#1)(0,-#1)%
\fgruler at cm@downright{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5cm\put(\fgruler at sep,-5){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\fgruler at caption@cm}}}\fi%
\end{picture}}
@@ -1534,7 +1578,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(0,-16){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,-1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(\fgruler at sep,-16)(0,-16){\fgruler at tempdima}{\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at in@downright@#1{%
@@ -1541,7 +1585,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(\fgruler at width,#1)(0,-#1)%
\fgruler at in@downright{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5in\put(\fgruler at sep,-8){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\fgruler at caption@in}}}\fi%
\end{picture}}
@@ -1561,7 +1605,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(0,-10){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(-1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,-1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(-\fgruler at sep,-10)(0,-10){\fgruler at tempdima}{\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at cm@downleft@#1{%
@@ -1568,7 +1612,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(\fgruler at width,#1)(-\fgruler at width,-#1)%
\fgruler at cm@downleft{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5cm\put(-\fgruler at sep,-5){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\fgruler at caption@cm}}}\fi%
\end{picture}}
@@ -1594,7 +1638,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(0,-16){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(-1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,-1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(-\fgruler at sep,-16)(0,-16){\fgruler at tempdima}{\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at in@downleft@#1{%
@@ -1601,7 +1645,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(\fgruler at width,#1)(-\fgruler at width,-#1)%
\fgruler at in@downleft{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5in\put(-\fgruler at sep,-8){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\fgruler at caption@in}}}\fi%
\end{picture}}
@@ -1621,7 +1665,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(0,10){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(\fgruler at sep,10)(0,10){\fgruler at tempdima}{\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at cm@upright@#1{%
@@ -1628,7 +1672,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(\fgruler at width,#1)%
\fgruler at cm@upright{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5cm\put(\fgruler at sep,5){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\fgruler at caption@cm}}}\fi%
\end{picture}}
@@ -1654,7 +1698,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(0,16){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(\fgruler at sep,16)(0,16){\fgruler at tempdima}{\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at in@upright@#1{%
@@ -1661,7 +1705,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(\fgruler at width,#1)%
\fgruler at in@upright{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5in\put(\fgruler at sep,8){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\fgruler at caption@in}}}\fi%
\end{picture}}
@@ -1681,7 +1725,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(0,10){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(-1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(-\fgruler at sep,10)(0,10){\fgruler at tempdima}{\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at cm@upleft@#1{%
@@ -1688,7 +1732,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(\fgruler at width,#1)(-\fgruler at width,0)%
\fgruler at cm@upleft{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5cm\put(-\fgruler at sep,5){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\fgruler at caption@cm}}}\fi%
\end{picture}}
@@ -1714,7 +1758,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(0,16){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(-1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(-\fgruler at sep,16)(0,16){\fgruler at tempdima}{\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at in@upleft@#1{%
@@ -1721,7 +1765,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(\fgruler at width,#1)(-\fgruler at width,0)%
\fgruler at in@upleft{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5in\put(-\fgruler at sep,8){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\fgruler at caption@in}}}\fi%
\end{picture}}
@@ -1918,9 +1962,132 @@
\def\fgruler at in@lowerright at fg{\fgruler at in@lowerright at fg@{\fgruler at hshift}{\fgruler at vshift}}
+%% UPPERLEFTT CM
+\def\fgruler at cm@upperleftT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,-\textheight)%
+\fgruler at cm@rightup{\textwidth}%
+\fgruler at cm@downleft{\textheight}%
+\put(5,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@cm}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% UPPERLEFTT IN
+\def\fgruler at in@upperleftT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,-\textheight)%
+\fgruler at in@rightup{\textwidth}%
+\fgruler at in@downleft{\textheight}%
+\put(8,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@in}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% UPPERRIGHTT CM
+\def\fgruler at cm@upperrightT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(-\textwidth,-\textheight)%
+\fgruler at cm@leftup{\textwidth}%
+\fgruler at cm@downright{\textheight}%
+\put(-5,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@cm}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% UPPERRIGHTT IN
+\def\fgruler at in@upperrightT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(-\textwidth,-\textheight)%
+\fgruler at in@leftup{\textwidth}%
+\fgruler at in@downright{\textheight}%
+\put(-8,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@in}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% LOWERLEFTT CM
+\def\fgruler at cm@lowerleftT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,0)%
+\fgruler at cm@rightdown{\textwidth}%
+\fgruler at cm@upleft{\textheight}%
+\put(5,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@cm}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% LOWERLEFTT IN
+\def\fgruler at in@lowerleftT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,0)%
+\fgruler at in@rightdown{\textwidth}%
+\fgruler at in@upleft{\textheight}%
+\put(8,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@in}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% LOWERRIGHTT CM
+\def\fgruler at cm@lowerrightT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(-\textwidth,0)%
+\fgruler at cm@leftdown{\textwidth}%
+\fgruler at cm@upright{\textheight}%
+\put(-5,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@cm}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% LOWERRIGHTT IN
+\def\fgruler at in@lowerrightT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(-\textwidth,0)%
+\fgruler at in@leftdown{\textwidth}%
+\fgruler at in@upright{\textheight}%
+\put(-8,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@in}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
%% USER
\def\fgruler at cm@user at fg{}
\def\fgruler at in@user at fg{}
+\def\fgrulertype#1#2{\csname fgruler@#1@#2 at fg\endcsname}
+\def\fgrulerdefusercm#1{\def\fgruler at cm@user at fg{#1}}
+\def\fgrulerdefuserin#1{\def\fgruler at in@user at fg{#1}}
% \end{macrocode}
% \Finale
\endinput
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/latex/fgruler/fgruler.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/fgruler/fgruler.sty 2020-11-04 21:35:59 UTC (rev 56853)
+++ trunk/Master/texmf-dist/tex/latex/fgruler/fgruler.sty 2020-11-04 21:36:11 UTC (rev 56854)
@@ -22,7 +22,7 @@
%% The Current Maintainer of this work is Tibor Tomacs.
%%
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesPackage{fgruler}[2020/10/26 v1.2 Package for drawing rulers on the foreground or in the text]
+\ProvidesPackage{fgruler}[2020/11/04 v1.3 Package for drawing rulers on the foreground or in the text]
%%
\@ifpackageloaded{kvoptions}{}{\RequirePackage{kvoptions}}
\@ifpackageloaded{etoolbox}{}{\RequirePackage{etoolbox}}
@@ -69,6 +69,8 @@
\rulerparams{.4pt}{\scriptsize\sffamily}{black}{2mm}{3pt}
+\def\rulerparamsfromfg{\rulerparams{\fgruler at markthick}{\fgruler at numfont}{\fgruler at color}{\fgruler at marklength}{\fgruler at numsep}}
+
\def\fgruler at fgsetting{%
\fgruler at set{\fgruler at markthick}{\fgruler at numfont}{\fgruler at color}{\fgruler at marklength}{\fgruler at numsep}%
\rulernorotatenum}
@@ -79,14 +81,24 @@
\def\fgruler at activate@type{%
\def\fgruler at check{cm}\ifx\fgruler at unit\fgruler at check\else%
\def\fgruler at check{in}\ifx\fgruler at unit\fgruler at check\else%
-\@latexerr{Undefined unit: \fgruler at unit\space(Defined units: cm, in)}{}\fi\fi%
+\PackageError{fgruler}{\fgruler at unit\space is invalid unit}{Valid units: cm, in}%
+\fi\fi%
\def\fgruler at check{upperleft}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{upperright}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{lowerleft}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{lowerright}\ifx\fgruler at type\fgruler at check\else%
+\def\fgruler at check{upperleftT}\ifx\fgruler at type\fgruler at check\else%
+\def\fgruler at check{upperrightT}\ifx\fgruler at type\fgruler at check\else%
+\def\fgruler at check{lowerleftT}\ifx\fgruler at type\fgruler at check\else%
+\def\fgruler at check{lowerrightT}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{none}\ifx\fgruler at type\fgruler at check\else%
\def\fgruler at check{user}\ifx\fgruler at type\fgruler at check\else%
-\@latexerr{Undefined type: \fgruler at type\space(Defined types: upperleft, upperright, lowerleft, lowerright, user, none)}{}\fi\fi\fi\fi\fi\fi%
+\PackageError{fgruler}{\fgruler at type\space is invalid type}%
+{Valid types:\MessageBreak
+upperleft, upperright, lowerleft, lowerright,\MessageBreak
+upperleftT, upperrightT, lowerleftT, lowerrightT,\MessageBreak
+user, none}%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
\def\fgruler at output{\csname fgruler@\fgruler at unit @\fgruler at type @fg\endcsname}}
\def\fgrulerratiocm#1#2{%
@@ -167,7 +179,7 @@
\def\fgruler at param{#1}%
\def\fgruler at check{cm}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{in}\ifx\fgruler at param\fgruler at check\else%
-\@latexerr{Invalid parameter: \fgruler at param\space(Defined parameters: cm, in)}{}%
+\PackageError{fgruler}{\fgruler at param\space is invalid parameter}{Valid parameters: cm, in}%
\fi\fi%
\def\fgruler at param{#2}%
\def\fgruler at check{rightdown}\ifx\fgruler at param\fgruler at check\else%
@@ -178,7 +190,10 @@
\def\fgruler at check{downleft}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{upright}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{upleft}\ifx\fgruler at param\fgruler at check\else%
-\@latexerr{Invalid parameter: \fgruler at param\space(Defined parameters: rightdown, rightup, leftdown, leftup, downright, downleft, upright, upleft)}{}%
+\PackageError{fgruler}{\fgruler at param\space is invalid parameter}%
+{Valid parameters:\MessageBreak
+rightdown, rightup, leftdown, leftup,\MessageBreak
+downright, downleft, upright, upleft}%
\fi\fi\fi\fi\fi\fi\fi\fi}
\def\fgruler at check@param@#1#2{%
@@ -185,7 +200,7 @@
\def\fgruler at param{#1}%
\def\fgruler at check{cm}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{in}\ifx\fgruler at param\fgruler at check\else%
-\@latexerr{Invalid parameter: \fgruler at param\space(Defined parameters: cm, in)}{}%
+\PackageError{fgruler}{\fgruler at param\space is invalid parameter}{Valid parameters: cm, in}%
\fi\fi%
\def\fgruler at param{#2}%
\def\fgruler at check{upperleft}\ifx\fgruler at param\fgruler at check\else%
@@ -192,7 +207,9 @@
\def\fgruler at check{upperright}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{lowerleft}\ifx\fgruler at param\fgruler at check\else%
\def\fgruler at check{lowerright}\ifx\fgruler at param\fgruler at check\else%
-\@latexerr{Invalid parameter: \fgruler at param\space(Defined parameters: upperleft, upperright, lowerleft, lowerright)}{}%
+\PackageError{fgruler}{\fgruler at param\space is invalid parameter}%
+{Valid parameters:\MessageBreak
+upperleft, upperright, lowerleft, lowerright}%
\fi\fi\fi\fi}
\newcommand{\fgruler at ruler}[3][cm]{\fgruler at check@param{#1}{#2}\fgruler at intextsetting\csname fgruler@#1@#2@\endcsname{#3}}
@@ -226,8 +243,11 @@
\def\fgruler at ifodd#1{\ifodd\value{fgrulernum}#1\fi\stepcounter{fgrulernum}}
-\def\fgrulerstartnum#1{\def\fgruler at startnum{#1}\ignorespaces}
-\def\fgruler at startnum{0}
+\def\fgrulerstartnum#1{\def\fgruler at startnumh{#1}\def\fgruler at startnumv{#1}\ignorespaces}
+\def\fgrulerstartnumh#1{\def\fgruler at startnumh{#1}\ignorespaces}
+\def\fgrulerstartnumv#1{\def\fgruler at startnumv{#1}\ignorespaces}
+\def\fgruler at startnumh{0}
+\def\fgruler at startnumv{0}
\def\fgrulerdefnum#1{\def\thefgrulernum{#1}\ignorespaces}
@@ -236,13 +256,13 @@
\def\rulernorotatenum{%
\ifx\@onlypreamble\@notprerr%
\def\fgruler at rotatebox##1##2{##2}%
-\else\@latexerr{Don't use \protect\rulernorotatenum\space in preamble!}{}\fi%
+\else\PackageError{fgruler}{Don't use \protect\rulernorotatenum\space in preamble!}{}\fi%
\ignorespaces}
\def\rulerrotatenum{%
\ifx\@onlypreamble\@notprerr%
\def\fgruler at rotatebox##1##2{\rotatebox{##1}{##2}}%
-\else\@latexerr{Don't use \protect\rulerrotatenum\space in preamble!}{}\fi%
+\else\PackageError{fgruler}{Don't use \protect\rulerrotatenum\space in preamble!}{}\fi%
\ignorespaces}
\def\fgrulerreset{%
@@ -287,10 +307,11 @@
\def\thefgrulernum{\arabic{fgrulernum}}%
\def\fgruler at caption@cm{cm}%
\def\fgruler at caption@in{inch}%
-\def\fgruler at startnum{0}%
+\def\fgruler at startnumh{0}%
+\def\fgruler at startnumv{0}%
\fgruler at borderlinetrue%
\fgruler at showframefalse%
-\else\@latexerr{Don't use \protect\fgrulerreset\space in preamble!}{}\fi%
+\else\PackageError{fgruler}{Don't use \protect\fgrulerreset\space in preamble!}{}\fi%
\ignorespaces}
\AtEndPreamble{
@@ -377,7 +398,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(10,0){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(0,-1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(10,-\fgruler at sep)(10,0){\fgruler at tempdima}{\makebox(0,0)[t]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at cm@rightdown@#1{%
@@ -384,7 +405,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(#1,\fgruler at width)(0,-\fgruler at width)%
\fgruler at cm@rightdown{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5cm\put(5,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@cm}}\fi%
\end{picture}}
@@ -410,7 +431,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(16,0){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(0,-1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(16,-\fgruler at sep)(16,0){\fgruler at tempdima}{\makebox(0,0)[t]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at in@rightdown@#1{%
@@ -417,7 +438,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(#1,\fgruler at width)(0,-\fgruler at width)%
\fgruler at in@rightdown{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5in\put(8,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@in}}\fi%
\end{picture}}
@@ -437,7 +458,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(10,0){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(0,1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(10,\fgruler at sep)(10,0){\fgruler at tempdima}{\makebox(0,0)[b]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at cm@rightup@#1{%
@@ -444,7 +465,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(#1,\fgruler at width)%
\fgruler at cm@rightup{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5cm\put(5,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@cm}}\fi%
\end{picture}}
@@ -470,7 +491,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(16,0){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(0,1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(16,\fgruler at sep)(16,0){\fgruler at tempdima}{\makebox(0,0)[b]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at in@rightup@#1{%
@@ -477,7 +498,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(#1,\fgruler at width)%
\fgruler at in@rightup{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5in\put(8,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@in}}\fi%
\end{picture}}
@@ -497,7 +518,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(-10,0){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(0,-1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(-1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(-10,-\fgruler at sep)(-10,0){\fgruler at tempdima}{\makebox(0,0)[t]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at cm@leftdown@#1{%
@@ -504,7 +525,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(#1,\fgruler at width)(-#1,-\fgruler at width)%
\fgruler at cm@leftdown{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5cm\put(-5,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@cm}}\fi%
\end{picture}}
@@ -530,7 +551,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(-16,0){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(0,-1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(-1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(-16,-\fgruler at sep)(-16,0){\fgruler at tempdima}{\makebox(0,0)[t]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at in@leftdown@#1{%
@@ -537,7 +558,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(#1,\fgruler at width)(-#1,-\fgruler at width)%
\fgruler at in@leftdown{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5in\put(-8,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@in}}\fi%
\end{picture}}
@@ -557,7 +578,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(-10,0){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(0,1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(-1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(-10,\fgruler at sep)(-10,0){\fgruler at tempdima}{\makebox(0,0)[b]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at cm@leftup@#1{%
@@ -564,7 +585,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(#1,\fgruler at width)(-#1,0)%
\fgruler at cm@leftup{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5cm\put(-5,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@cm}}\fi%
\end{picture}}
@@ -590,7 +611,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(-16,0){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(0,1){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(-1,0){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}\stepcounter{fgrulernum}%
\multiput(-16,\fgruler at sep)(-16,0){\fgruler at tempdima}{\makebox(0,0)[b]{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}
\def\fgruler at in@leftup@#1{%
@@ -597,7 +618,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(#1,\fgruler at width)(-#1,0)%
\fgruler at in@leftup{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
\ifdim#1>.5in\put(-8,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@in}}\fi%
\end{picture}}
@@ -617,7 +638,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(0,-10){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,-1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(\fgruler at sep,-10)(0,-10){\fgruler at tempdima}{\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at cm@downright@#1{%
@@ -624,7 +645,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(\fgruler at width,#1)(0,-#1)%
\fgruler at cm@downright{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5cm\put(\fgruler at sep,-5){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\fgruler at caption@cm}}}\fi%
\end{picture}}
@@ -650,7 +671,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(0,-16){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,-1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(\fgruler at sep,-16)(0,-16){\fgruler at tempdima}{\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at in@downright@#1{%
@@ -657,7 +678,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(\fgruler at width,#1)(0,-#1)%
\fgruler at in@downright{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5in\put(\fgruler at sep,-8){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\fgruler at caption@in}}}\fi%
\end{picture}}
@@ -677,7 +698,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(0,-10){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(-1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,-1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(-\fgruler at sep,-10)(0,-10){\fgruler at tempdima}{\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at cm@downleft@#1{%
@@ -684,7 +705,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(\fgruler at width,#1)(-\fgruler at width,-#1)%
\fgruler at cm@downleft{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5cm\put(-\fgruler at sep,-5){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\fgruler at caption@cm}}}\fi%
\end{picture}}
@@ -710,7 +731,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(0,-16){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(-1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,-1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(-\fgruler at sep,-16)(0,-16){\fgruler at tempdima}{\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at in@downleft@#1{%
@@ -717,7 +738,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(\fgruler at width,#1)(-\fgruler at width,-#1)%
\fgruler at in@downleft{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5in\put(-\fgruler at sep,-8){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\fgruler at caption@in}}}\fi%
\end{picture}}
@@ -737,7 +758,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(0,10){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(\fgruler at sep,10)(0,10){\fgruler at tempdima}{\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at cm@upright@#1{%
@@ -744,7 +765,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(\fgruler at width,#1)%
\fgruler at cm@upright{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5cm\put(\fgruler at sep,5){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\fgruler at caption@cm}}}\fi%
\end{picture}}
@@ -770,7 +791,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(0,16){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(\fgruler at sep,16)(0,16){\fgruler at tempdima}{\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at in@upright@#1{%
@@ -777,7 +798,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(\fgruler at width,#1)%
\fgruler at in@upright{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5in\put(\fgruler at sep,8){\makebox(0,0)[l]{\fgruler at rotatebox{90}{\fgruler at font@\fgruler at caption@in}}}\fi%
\end{picture}}
@@ -797,7 +818,7 @@
\fgruler at div{#1}{10}%
\multiput(0,0)(0,10){\@tempcnta}{\fgruler at cm@thick at iii\fgruler at cm@color at iii\line(-1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(-\fgruler at sep,10)(0,10){\fgruler at tempdima}{\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at cm@upleft@#1{%
@@ -804,7 +825,7 @@
\setlength{\unitlength}{1mm}%
\begin{picture}(\fgruler at width,#1)(-\fgruler at width,0)%
\fgruler at cm@upleft{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5cm\put(-\fgruler at sep,5){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\fgruler at caption@cm}}}\fi%
\end{picture}}
@@ -830,7 +851,7 @@
\fgruler at div{#1}{16}%
\multiput(0,0)(0,16){\@tempcnta}{\fgruler at in@thick at v\fgruler at in@color at v\line(-1,0){\fgruler at marklth}}%
\iffgruler at borderline\put(0,0){\line(0,1){#1}}\fi%
-\setcounter{fgrulernum}{\fgruler at startnum}\stepcounter{fgrulernum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}\stepcounter{fgrulernum}%
\multiput(-\fgruler at sep,16)(0,16){\fgruler at tempdima}{\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum\stepcounter{fgrulernum}}}}}
\def\fgruler at in@upleft@#1{%
@@ -837,7 +858,7 @@
\setlength{\unitlength}{.0625in}%
\begin{picture}(\fgruler at width,#1)(-\fgruler at width,0)%
\fgruler at in@upleft{#1}%
-\setcounter{fgrulernum}{\fgruler at startnum}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\thefgrulernum}}}%
\ifdim#1>.5in\put(-\fgruler at sep,8){\makebox(0,0)[r]{\fgruler at rotatebox{-90}{\fgruler at font@\fgruler at caption@in}}}\fi%
\end{picture}}
@@ -1034,9 +1055,132 @@
\def\fgruler at in@lowerright at fg{\fgruler at in@lowerright at fg@{\fgruler at hshift}{\fgruler at vshift}}
+%% UPPERLEFTT CM
+\def\fgruler at cm@upperleftT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,-\textheight)%
+\fgruler at cm@rightup{\textwidth}%
+\fgruler at cm@downleft{\textheight}%
+\put(5,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@cm}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% UPPERLEFTT IN
+\def\fgruler at in@upperleftT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,-\textheight)%
+\fgruler at in@rightup{\textwidth}%
+\fgruler at in@downleft{\textheight}%
+\put(8,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@in}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% UPPERRIGHTT CM
+\def\fgruler at cm@upperrightT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(-\textwidth,-\textheight)%
+\fgruler at cm@leftup{\textwidth}%
+\fgruler at cm@downright{\textheight}%
+\put(-5,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@cm}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% UPPERRIGHTT IN
+\def\fgruler at in@upperrightT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(-\textwidth,-\textheight)%
+\fgruler at in@leftup{\textwidth}%
+\fgruler at in@downright{\textheight}%
+\put(-8,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\fgruler at caption@in}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,\fgruler at sep){\makebox(0,0)[b]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% LOWERLEFTT CM
+\def\fgruler at cm@lowerleftT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,0)%
+\fgruler at cm@rightdown{\textwidth}%
+\fgruler at cm@upleft{\textheight}%
+\put(5,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@cm}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% LOWERLEFTT IN
+\def\fgruler at in@lowerleftT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,0)%
+\fgruler at in@rightdown{\textwidth}%
+\fgruler at in@upleft{\textheight}%
+\put(8,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@in}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(-\fgruler at sep,0){\makebox(0,0)[r]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% LOWERRIGHTT CM
+\def\fgruler at cm@lowerrightT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(-\textwidth,0)%
+\fgruler at cm@leftdown{\textwidth}%
+\fgruler at cm@upright{\textheight}%
+\put(-5,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@cm}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
+%% LOWERRIGHTT IN
+\def\fgruler at in@lowerrightT at fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler at fgsetting%
+\begin{picture}(\textwidth,\textheight)(-\textwidth,0)%
+\fgruler at in@leftdown{\textwidth}%
+\fgruler at in@upright{\textheight}%
+\put(-8,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\fgruler at caption@in}}%
+\setcounter{fgrulernum}{\fgruler at startnumh}%
+\put(0,-\fgruler at sep){\makebox(0,0)[t]{\fgruler at font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler at startnumv}%
+\put(\fgruler at sep,0){\makebox(0,0)[l]{\fgruler at font@\thefgrulernum}}%
+\end{picture}}}
+
%% USER
\def\fgruler at cm@user at fg{}
\def\fgruler at in@user at fg{}
+\def\fgrulertype#1#2{\csname fgruler@#1@#2 at fg\endcsname}
+\def\fgrulerdefusercm#1{\def\fgruler at cm@user at fg{#1}}
+\def\fgrulerdefuserin#1{\def\fgruler at in@user at fg{#1}}
\endinput
%%
%% End of file `fgruler.sty'.
More information about the tex-live-commits
mailing list.