summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/fgruler
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-06-20 03:03:42 +0000
committerNorbert Preining <norbert@preining.info>2022-06-20 03:03:42 +0000
commitd1dd8ea4ff1d6807ae7c5ee72de330c33e166131 (patch)
treeb3df0b70ef6fda0f5d237d5bd23604f9ce805529 /macros/latex/contrib/fgruler
parent15103df278e40e78061cca62bd5d956644f3352a (diff)
CTAN sync 202206200303
Diffstat (limited to 'macros/latex/contrib/fgruler')
-rw-r--r--macros/latex/contrib/fgruler/README2
-rw-r--r--macros/latex/contrib/fgruler/fgruler.dtx317
-rw-r--r--macros/latex/contrib/fgruler/fgruler.ins4
-rw-r--r--macros/latex/contrib/fgruler/fgruler.pdfbin421392 -> 491910 bytes
4 files changed, 290 insertions, 33 deletions
diff --git a/macros/latex/contrib/fgruler/README b/macros/latex/contrib/fgruler/README
index 266910338c..3e9b6c5821 100644
--- a/macros/latex/contrib/fgruler/README
+++ b/macros/latex/contrib/fgruler/README
@@ -1,6 +1,6 @@
fgruler.sty package
-Copyright 2017-2020 by Tibor Tomacs
+Copyright 2017-2022 by Tibor Tomacs
Package for drawing rulers on the foreground or in the text
diff --git a/macros/latex/contrib/fgruler/fgruler.dtx b/macros/latex/contrib/fgruler/fgruler.dtx
index 855e1411a6..1cebbe6671 100644
--- a/macros/latex/contrib/fgruler/fgruler.dtx
+++ b/macros/latex/contrib/fgruler/fgruler.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 2017-2020 by Tibor Tomacs
+% Copyright 2017-2022 by Tibor Tomacs
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,7 +21,7 @@
\ProvidesFile{fgruler.dtx}
%</driver>
%<package>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-%<package>\ProvidesPackage{fgruler}[2020/11/04 v1.3 Package for drawing rulers on the foreground or in the text]
+%<package>\ProvidesPackage{fgruler}[2022/06/19 v1.4 Package for drawing rulers on the foreground or in the text]
%
%<*driver>
\documentclass{ltxdoc}
@@ -66,7 +66,7 @@ keepspaces]}
%
% \GetFileInfo{fgruler.sty}
%
-% \title{The {\bfseries\sffamily fgruler} package\\{\large v1.3 (2020/11/04)}}
+% \title{The {\bfseries\sffamily fgruler} package\\{\large v1.4 (2022/06/19)}}
% \author{Tibor T\'{o}m\'{a}cs\\{\normalsize\url{tomacs.tibor@uni-eszterhazy.hu}}}
% \date{}
% \maketitle
@@ -79,7 +79,7 @@ keepspaces]}
%
% \section{Introduction}
% The \texttt{fgruler} is an abbreviation for the \emph{foreground ruler}.
-% This package draws a horizontal and a vertical ruler on the foreground of every (or a given) page at absolute position.
+% This package draws horizontal and vertical rulers on the foreground of every (or a given) page at absolute position.
% In this way, you can check the page layout dimensions.
%
% \medskip\noindent
@@ -113,36 +113,48 @@ keepspaces]}
% \item\commandinline|type=!<type name>!|\\
% Origin, directions and lengths of the ruler. The \commandinline|!<type name>!| legal values:
% \begin{description}
-% \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|upperleft| Default value. Origin: upper left corner of the paper. Directions: down and right. Lengths: paper sizes. See \ref{example:upperleft} example.
+% \item\commandinline|upperright| Origin: upper right corner of the paper. Directions: down and left. Lengths: paper sizes. See \ref{example:upperright} example.
+% \item\commandinline|lowerleft| Origin: lower left corner of the paper. Directions: up and right. Lengths: paper sizes. See \ref{example:lowerleft} example.
+% \item\commandinline|lowerright| Origin: lower right corner of the paper. Directions: up and left. Lengths: paper sizes. See \ref{example:lowerright} example.
+% \item\commandinline|upperleftT| Origin: upper left corner of the text area. Directions: down and right. Lengths: text area sizes. See \ref{example:upperleftT} example.
+% \item\commandinline|upperrightT| Origin: upper right corner of the text area. Directions: down and left. Lengths: text area sizes. See \ref{example:upperrightT} example.
+% \item\commandinline|lowerleftT| Origin: lower left corner of the text area. Directions: up and right. Lengths: text area sizes. See \ref{example:lowerleftT} example.
+% \item\commandinline|lowerrightT| Origin: lower right corner of the text area. Directions: up and left. Lengths: text area sizes. See \ref{example:lowerrightT} example.
+% \item\commandinline|alledges| There are rulers on all edges of the paper.
+% Top ruler origin: upper left corner of the paper (direction: right).
+% Bottom ruler origin: lower left corner of the paper (direction: right).
+% Left ruler origin: upper left corner of the paper (direction: down).
+% Right ruler origin: upper right corner of the paper (direction: down). Lengths: paper sizes. See \ref{example:alledges} example.
+% \item\commandinline|alledges*| It is similar to \verb|alledges| option, but bottom ruler origin is lower right corner of the paper (direction: left),
+% and left ruler origin is lower left corner of the paper (direction: up).
+% See \ref{example:alledges*} example.
+% \item\commandinline|alledgesT| It is similar to \verb|alledges| option, but on the edges of the text area. See \ref{example:alledgesT} example.
+% \item\commandinline|alledgesT*| It is similar to \verb|alledges*| option, but on the edges of the text area. See \ref{example:alledgesT*} example.
% \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@fg| commands, which are empty in the default case.\\
-% \commandinline|\def\fgruler@cm@user@fg{!<code>!}| is equivalent to \commandinline|\fgrulerdefusercm{!<code>!}|.\\
-% Similarly, \commandinline|\def\fgruler@in@user@fg{!<code>!}| is equivalent to \commandinline|\fgrulerdefuserin{!<code>!}|.\\
+% \item\commandinline|user| Each \commandinline|!<unit>!|--\commandinline|!<type name>!| pair activates an \commandinline|\fgrulertype{!<unit>!}{!<type name>!}| command.
+% After \commandinline|\fgrulerdefuser!<unit>!{!<code>!}| the expansion of \commandinline|\fgrulertype{!<unit>!}{user}| is \commandinline|!<code>!|,
+% which determines the effect of this option.
% See \ref{example:user-first}--\ref{example:user-last} examples.
% \end{description}
%
% \item\commandinline|hshift=!<length>!|\\
-% Horizontal shift of the ruler, if the \commandinline|!<type name>!| is \verb|upperleft|, \verb|lowerleft|, \verb|upperright| or \verb|lowerright|.
+% 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|.
+% See \ref{example:shift-first}--\ref{example:shift-last} examples.
%
% \item\commandinline|vshift=!<length>!|\\
-% Vertical shift of the ruler, if the \commandinline|!<type name>!| is \verb|upperleft|, \verb|lowerleft|, \verb|upperright| or \verb|lowerright|.
+% 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|.
+% See \ref{example:shift-first}--\ref{example:shift-last} examples.
%
% \item\commandinline|color=!<color name>!|\\
-% Ruler color (see \texttt{xcolor} package). Default: \verb|color=black|.
+% Ruler color (see \texttt{xcolor} package). Default: \verb|color=black|.
+% See \ref{example:showframe-color} example.
%
% \item\commandinline|numsep=!<length>!|\\
% Separation between number and ruler. Default: \verb|numsep=3pt|.
@@ -161,6 +173,7 @@ keepspaces]}
% \item\commandinline|showframe| or \commandinline|showframe=true|\\
% It draws visible frames for the text and margin area, and lines for the head and foot.
% Their color and thickness are determined by the \texttt{color} and the \texttt{markthick} options.
+% See \ref{example:showframe-color} example.
%
% \item\commandinline|showframe=false|\\
% It deactivates the \texttt{showframe} option.
@@ -528,7 +541,7 @@ keepspaces]}
%
% \newpage\fgrulerreset
% \section{Examples}
-% \subsection{Deafult case}
+% \subsection{Deafult case}\label{example:upperleft}
% The output of the following example is the ruler in this page. It is the default case.
% \begin{examplelst}
% \documentclass{article}
@@ -539,7 +552,7 @@ keepspaces]}
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{The \texttt{showframe} and \texttt{color} options}
+% \subsection{The \texttt{showframe} and \texttt{color} options}\label{example:showframe-color}
% \setfgruler{color=red,showframe}
% \begin{examplelst}
% \documentclass{article}
@@ -550,7 +563,40 @@ keepspaces]}
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{Shift in default case}
+% \subsection{The \texttt{type=upperright} option}\label{example:upperright}
+% \setfgruler{type=upperright}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=upperright]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{The \texttt{type=lowerleft} option}\label{example:lowerleft}
+% \setfgruler{type=lowerleft}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=lowerleft]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{The \texttt{type=lowerright} option}\label{example:lowerright}
+% \setfgruler{type=lowerright}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=lowerright]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{Shift in default case}\label{example:shift-first}
% \setfgruler{hshift=1cm,vshift=2cm}
% \begin{examplelst}
% \documentclass{article}
@@ -583,7 +629,7 @@ keepspaces]}
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{Shift in case \texttt{type=lowerright} option}
+% \subsection{Shift in case \texttt{type=lowerright} option}\label{example:shift-last}
% \setfgruler{type=lowerright,hshift=1cm,vshift=2cm}
% \begin{examplelst}
% \documentclass{article}
@@ -594,7 +640,29 @@ keepspaces]}
% \end{examplelst}
%
% \newpage\fgrulerreset
-% \subsection{The \texttt{type=upperleftT} option}
+% \subsection{The \texttt{type=alledges} option}\label{example:alledges}
+% \setfgruler{type=alledges}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=alledges]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{The \texttt{type=alledges*} option}\label{example:alledges*}
+% \setfgruler{type=alledges*}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=alledges*]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{The \texttt{type=upperleftT} option}\label{example:upperleftT}
% \setfgruler{type=upperleftT}
% \begin{examplelst}
% \documentclass{article}
@@ -605,6 +673,61 @@ keepspaces]}
% \end{examplelst}
%
% \newpage\fgrulerreset
+% \subsection{The \texttt{type=upperrightT} option}\label{example:upperrightT}
+% \setfgruler{type=upperrightT}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=upperrightT]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{The \texttt{type=lowerleftT} option}\label{example:lowerleftT}
+% \setfgruler{type=lowerleftT}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=lowerleftT]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{The \texttt{type=lowerrightT} option}\label{example:lowerrightT}
+% \setfgruler{type=lowerrightT}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=lowerrightT]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{The \texttt{type=alledgesT} option}\label{example:alledgesT}
+% \setfgruler{type=alledgesT}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=alledgesT]{fgruler}
+% \begin{document}
+% ...
+% \end{document}
+% \end{examplelst}
+%
+% \newpage\fgrulerreset
+% \subsection{The \texttt{type=alledgesT*} option}\label{example:alledgesT*}
+% \setfgruler{type=alledgesT*}
+% \begin{examplelst}
+% \documentclass{article}
+% \usepackage[type=alledgesT*]{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}
@@ -639,14 +762,14 @@ keepspaces]}
%
% \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}.
+% In this example the \texttt{type=user} option combines the effect of \texttt{type=alledges} and \texttt{type=alledgesT}.
% \setfgruler{type=user}
-% \fgrulerdefusercm{\fgrulertype{cm}{upperleftT}\fgrulertype{cm}{lowerrightT}}
+% \fgrulerdefusercm{\fgrulertype{cm}{alledges}\fgrulertype{cm}{alledgesT}}
% \begin{examplelst}
% \documentclass{article}
% \usepackage[type=user]{fgruler}
-% \fgrulerdefusercm{\fgrulertype{cm}{upperleftT}\fgrulertype{cm}{lowerrightT}}
-% \fgrulerdefuserin{\fgrulertype{in}{upperleftT}\fgrulertype{in}{lowerrightT}}
+% \fgrulerdefusercm{\fgrulertype{cm}{alledges}\fgrulertype{cm}{alledgesT}}
+% \fgrulerdefuserin{\fgrulertype{in}{alledges}\fgrulertype{in}{alledgesT}}
% \begin{document}
% ...
% \end{document}
@@ -998,14 +1121,18 @@ keepspaces]}
\def\fgruler@check{upperrightT}\ifx\fgruler@type\fgruler@check\else%
\def\fgruler@check{lowerleftT}\ifx\fgruler@type\fgruler@check\else%
\def\fgruler@check{lowerrightT}\ifx\fgruler@type\fgruler@check\else%
+\def\fgruler@check{alledges}\ifx\fgruler@type\fgruler@check\else%
+\def\fgruler@check{alledges*}\ifx\fgruler@type\fgruler@check\else%
+\def\fgruler@check{alledgesT}\ifx\fgruler@type\fgruler@check\else%
+\def\fgruler@check{alledgesT*}\ifx\fgruler@type\fgruler@check\else%
\def\fgruler@check{none}\ifx\fgruler@type\fgruler@check\else%
\def\fgruler@check{user}\ifx\fgruler@type\fgruler@check\else%
\PackageError{fgruler}{\fgruler@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%
+alledges, alledges*, alledgesT, alledgesT*, user, none}%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
\def\fgruler@output{\csname fgruler@\fgruler@unit @\fgruler@type @fg\endcsname}}
\def\fgrulerratiocm#1#2{%
@@ -2082,6 +2209,136 @@ upperleft, upperright, lowerleft, lowerright}%
\put(\fgruler@sep,0){\makebox(0,0)[l]{\fgruler@font@\thefgrulernum}}%
\end{picture}}}
+%% ALLEDGES CM
+\def\fgruler@cm@alledges@fg{%
+\AtPageLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler@fgsetting%
+\begin{picture}(\paperwidth,\paperheight)(0,-\paperheight)%
+\fgruler@cm@rightdown{\paperwidth}%
+\fgruler@cm@downright{\paperheight}%
+\put(0,-\paperheight){\fgruler@cm@rightup{\paperwidth}}
+\put(\paperwidth,0){\fgruler@cm@downleft{\paperheight}}
+\put(5,-\fgruler@sep){\makebox(0,0)[t]{\fgruler@font@\fgruler@caption@cm}}
+\end{picture}}}
+
+%% ALLEDGES IN
+\def\fgruler@in@alledges@fg{%
+\AtPageLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler@fgsetting%
+\begin{picture}(\paperwidth,\paperheight)(0,-\paperheight)%
+\fgruler@in@rightdown{\paperwidth}%
+\fgruler@in@downright{\paperheight}%
+\put(0,-\paperheight){\fgruler@in@rightup{\paperwidth}}
+\put(\paperwidth,0){\fgruler@in@downleft{\paperheight}}
+\put(8,-\fgruler@sep){\makebox(0,0)[t]{\fgruler@font@\fgruler@caption@in}}
+\end{picture}}}
+
+%% ALLEDGES* CM
+\@namedef{fgruler@cm@alledges*@fg}{%
+\AtPageLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler@fgsetting%
+\begin{picture}(\paperwidth,\paperheight)(0,-\paperheight)%
+\fgruler@cm@rightdown{\paperwidth}%
+\fgruler@cm@downright{\paperheight}%
+\put(\paperwidth,-\paperheight){%
+\fgruler@cm@leftup{\paperwidth}%
+\fgruler@cm@upleft{\paperheight}}
+\put(5,-\fgruler@sep){\makebox(0,0)[t]{\fgruler@font@\fgruler@caption@cm}}
+\end{picture}}}
+
+%% ALLEDGES* IN
+\@namedef{fgruler@in@alledges*@fg}{%
+\AtPageLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler@fgsetting%
+\begin{picture}(\paperwidth,\paperheight)(0,-\paperheight)%
+\fgruler@in@rightdown{\paperwidth}%
+\fgruler@in@downright{\paperheight}%
+\put(\paperwidth,-\paperheight){%
+\fgruler@in@leftup{\paperwidth}%
+\fgruler@in@upleft{\paperheight}}
+\put(8,-\fgruler@sep){\makebox(0,0)[t]{\fgruler@font@\fgruler@caption@in}}
+\end{picture}}}
+
+%% ALLEDGEST CM
+\def\fgruler@cm@alledgesT@fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler@fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,-\textheight)%
+\fgruler@cm@rightup{\textwidth}%
+\fgruler@cm@downleft{\textheight}%
+\put(0,-\textheight){\fgruler@cm@rightdown{\textwidth}}
+\put(\textwidth,0){\fgruler@cm@downright{\textheight}}
+\put(5,\fgruler@sep){\makebox(0,0)[b]{\fgruler@font@\fgruler@caption@cm}}%
+\setcounter{fgrulernum}{\fgruler@startnumh}%
+\put(0,\fgruler@sep){\makebox(0,0)[b]{\fgruler@font@\thefgrulernum}}%
+\put(0,-\textheight-\fgruler@sep){\makebox(0,0)[t]{\fgruler@font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler@startnumv}%
+\put(-\fgruler@sep,0){\makebox(0,0)[r]{\fgruler@font@\thefgrulernum}}%
+\put(\textwidth+\fgruler@sep,0){\makebox(0,0)[l]{\fgruler@font@\thefgrulernum}}%
+\end{picture}}}
+
+%% ALLEDGEST IN
+\def\fgruler@in@alledgesT@fg{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler@fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,-\textheight)%
+\fgruler@in@rightup{\textwidth}%
+\fgruler@in@downleft{\textheight}%
+\put(0,-\textheight){\fgruler@in@rightdown{\textwidth}}
+\put(\textwidth,0){\fgruler@in@downright{\textheight}}
+\put(5,\fgruler@sep){\makebox(0,0)[b]{\fgruler@font@\fgruler@caption@in}}%
+\setcounter{fgrulernum}{\fgruler@startnumh}%
+\put(0,\fgruler@sep){\makebox(0,0)[b]{\fgruler@font@\thefgrulernum}}%
+\put(0,-\textheight-\fgruler@sep){\makebox(0,0)[t]{\fgruler@font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler@startnumv}%
+\put(-\fgruler@sep,0){\makebox(0,0)[r]{\fgruler@font@\thefgrulernum}}%
+\put(\textwidth+\fgruler@sep,0){\makebox(0,0)[l]{\fgruler@font@\thefgrulernum}}%
+\end{picture}}}
+
+%% ALLEDGEST* CM
+\@namedef{fgruler@cm@alledgesT*@fg}{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{1mm}%
+\fgruler@fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,-\textheight)%
+\fgruler@cm@rightup{\textwidth}%
+\fgruler@cm@downleft{\textheight}%
+\put(\textwidth,-\textheight){\fgruler@cm@leftdown{\textwidth}}
+\put(\textwidth,-\textheight){\fgruler@cm@upright{\textheight}}
+\put(5,\fgruler@sep){\makebox(0,0)[b]{\fgruler@font@\fgruler@caption@cm}}%
+\setcounter{fgrulernum}{\fgruler@startnumh}%
+\put(0,\fgruler@sep){\makebox(0,0)[b]{\fgruler@font@\thefgrulernum}}%
+\put(\textwidth,-\textheight-\fgruler@sep){\makebox(0,0)[t]{\fgruler@font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler@startnumv}%
+\put(-\fgruler@sep,0){\makebox(0,0)[r]{\fgruler@font@\thefgrulernum}}%
+\put(\textwidth+\fgruler@sep,-\textheight){\makebox(0,0)[l]{\fgruler@font@\thefgrulernum}}%
+\end{picture}}}
+
+%% ALLEDGEST* IN
+\@namedef{fgruler@in@alledgesT*@fg}{%
+\AtTextLowerLeft{%
+\setlength{\unitlength}{.0625in}%
+\fgruler@fgsetting%
+\begin{picture}(\textwidth,\textheight)(0,-\textheight)%
+\fgruler@in@rightup{\textwidth}%
+\fgruler@in@downleft{\textheight}%
+\put(\textwidth,-\textheight){\fgruler@in@leftdown{\textwidth}}
+\put(\textwidth,-\textheight){\fgruler@in@upright{\textheight}}
+\put(8,\fgruler@sep){\makebox(0,0)[b]{\fgruler@font@\fgruler@caption@in}}%
+\setcounter{fgrulernum}{\fgruler@startnumh}%
+\put(0,\fgruler@sep){\makebox(0,0)[b]{\fgruler@font@\thefgrulernum}}%
+\put(\textwidth,-\textheight-\fgruler@sep){\makebox(0,0)[t]{\fgruler@font@\thefgrulernum}}%
+\setcounter{fgrulernum}{\fgruler@startnumv}%
+\put(-\fgruler@sep,0){\makebox(0,0)[r]{\fgruler@font@\thefgrulernum}}%
+\put(\textwidth+\fgruler@sep,-\textheight){\makebox(0,0)[l]{\fgruler@font@\thefgrulernum}}%
+\end{picture}}}
+
%% USER
\def\fgruler@cm@user@fg{}
\def\fgruler@in@user@fg{}
diff --git a/macros/latex/contrib/fgruler/fgruler.ins b/macros/latex/contrib/fgruler/fgruler.ins
index 38cac59ba0..85d39020bf 100644
--- a/macros/latex/contrib/fgruler/fgruler.ins
+++ b/macros/latex/contrib/fgruler/fgruler.ins
@@ -1,5 +1,5 @@
-% Copyright 2017-2020 by Tibor Tomacs
+% Copyright 2017-2022 by Tibor Tomacs
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -19,7 +19,7 @@
\preamble
This is a generated file.
-Copyright 2017-2020 by Tibor Tomacs
+Copyright 2017-2022 by Tibor Tomacs
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/fgruler/fgruler.pdf b/macros/latex/contrib/fgruler/fgruler.pdf
index a823e23c5a..d8ab5d9e48 100644
--- a/macros/latex/contrib/fgruler/fgruler.pdf
+++ b/macros/latex/contrib/fgruler/fgruler.pdf
Binary files differ