Use Rulers for Measurement in LaTeX Document
The scrlayer
package
We can use scrlayer
package1 to place rulers around the page for measurement. It is realized through specifications by \DeclareNewLayer
(mainly the option contents=\layercontentsmeasure
of it) and \DeclareNewPageStyleByLayers
command in the preamble and \pagestyle
command in the document body. Here are six examples2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
\documentclass[a4paper]{article}
\usepackage[margin=1in]{geometry}
\usepackage[x11names]{xcolor}
\pagecolor{AntiqueWhite1}
\usepackage{showframe}
\usepackage{scrlayer}
% Test basic settings
\DeclareNewLayer[
foreground,
contents=\layercontentsmeasure,
]{measurelayer1}
\DeclareNewPageStyleByLayers{measurestyle1}{measurelayer1}
% Test option of *innermargin*
\DeclareNewLayer[
foreground,
innermargin,
contents=\layercontentsmeasure,
]{measurelayer2}
\DeclareNewPageStyleByLayers{measurestyle2}{measurelayer2}
% Test option of *width*
\DeclareNewLayer[
foreground,
innermargin,
width=3cm,
contents=\layercontentsmeasure,
]{measurelayer3}
\DeclareNewPageStyleByLayers{measurestyle3}{measurelayer3}
% Test option of *height*
\DeclareNewLayer[
foreground,
innermargin,
width=3cm,
height=10cm,
contents=\layercontentsmeasure,
]{measurelayer4}
\DeclareNewPageStyleByLayers{measurestyle4}{measurelayer4}
% Test option of *hoffset* and *voffset*
\DeclareNewLayer[
foreground,
innermargin,
width=3cm,
height=10cm,
hoffset=2cm,
voffset=2cm,
contents=\layercontentsmeasure,
]{measurelayer5}
\DeclareNewPageStyleByLayers{measurestyle5}{measurelayer5}
% Test option of *topmargin*
\DeclareNewLayer[
foreground,
topmargin,
height=5cm,
contents=\layercontentsmeasure,
]{measurelayer6}
\DeclareNewPageStyleByLayers{measurestyle6}{measurelayer6}
\usepackage{lipsum}
\newcommand{\mylipsum}{\lipsum[1-7]}
\begin{document}
\pagestyle{measurestyle1}
\clearpage
\section{Test basic settings}
\mylipsum
\newpage
\pagestyle{measurestyle2}
\clearpage
\section{Test option of \textit{innermargin}}
\mylipsum
\newpage
\pagestyle{measurestyle3}
\clearpage
\section{Test option of \textit{width}}
\mylipsum
\newpage
\pagestyle{measurestyle4}
\clearpage
\section{Test option of \textit{height}}
\mylipsum
\newpage
\pagestyle{measurestyle5}
\clearpage
\section{Test option of \textit{hoffset} and \textit{voffset}}
\mylipsum
\newpage
\pagestyle{measurestyle6}
\clearpage
\section{Test option of \textit{topmargin}}
\mylipsum
\end{document}
We also can use them together with eso-pic
package34 to better measure some certain distances among the text.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
\documentclass[a4paper]{article}
\usepackage[margin=1in]{geometry}
\usepackage[x11names]{xcolor}
\pagecolor{AntiqueWhite1}
\usepackage[grid,
gridcolor=black!20,
subgridcolor=black!20,
gridunit=cm]{eso-pic}
\usepackage{scrlayer}
\usepackage{lipsum}
\newcommand{\mylipsum}{\lipsum[1-17]}
\DeclareNewLayer[
foreground,
contents=\layercontentsmeasure,
]{measurelayer}
\DeclareNewPageStyleByLayers{measurestyle}{measurelayer}
\begin{document}
\pagestyle{measurestyle}
\clearpage
\mylipsum
\end{document}
The fgruler
package
Another way of placing rulers is by importing fgruler
package56 with certain option like \usepackage[type=upperleft]{fgruler}
, which way is more convenient and professional.
1
2
3
4
5
6
7
8
9
10
11
12
13
\documentclass[a4paper]{article}
\usepackage[margin=1in]{geometry}
\usepackage[x11names]{xcolor}
\pagecolor{AntiqueWhite1}
\usepackage[type=upperleft]{fgruler}
\usepackage{showframe}
\usepackage{lipsum}
\newcommand{\mylipsum}{\lipsum[1-17]}
\begin{document}
\mylipsum
\end{document}
The fgruler
package documentation5 also provides some examples to show how to use various rulers in the main text:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
\documentclass[a4paper]{article}
\usepackage[margin=1in]{geometry}
\usepackage[x11names]{xcolor}
\pagecolor{AntiqueWhite1}
\usepackage[type=none]{fgruler}
\setlength\parindent{0pt}
\begin{document}
\thispagestyle{empty}
\rulerparams{}{}{red}{}{3pt}
\ruler{rightdown}{3cm}
\hfill
\ruler{rightup}{3cm}
\hfill
\ruler{leftup}{3cm}
\hfill
\ruler{leftdown}{3cm}
\vfill
\rulerparams{}{}{green}{}{}
{\rulernorotatenum\ruler{upright}{3cm}}
\hfill
\ruler{downright}{3cm}
\hfill
\ruler{upleft}{3cm}
\hfill
\ruler{downleft}{3cm}
\vfill
\rulerparams{}{}{blue!50!black}{}{}
{\rulernorotatenum\fgrulercaptioncm{}\squareruler{upperleft}{2cm}{3cm}}
\hfill
\squareruler{lowerright}{2cm}{3cm}
\hfill
\squareruler{lowerleft}{2cm}{3cm}
\hfill
\squareruler{upperright}{2cm}{3cm}
\hfill
{\rulerparams{}{\footnotesize\bfseries\color{red}}{}{5mm}{}
\squareruler[in]{lowerleft}{2in}{3cm}}
\vfill
{\fgrulerdefnum{\rotatebox{45}{\arabic{fgrulernum}\,cm}}
\fgrulercaptioncm{}
\rulerparams{}{\tiny\color{red}}{blue}{8mm}{}
\fgrulercolorcm{}{}{black}
\rotatebox{-45}{\ruler{rightup}{10cm}}
\ruler{rightup}{5cm}}
\end{document}
and that of a coordinate:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
\documentclass[a4paper]{article}
\usepackage[margin=1in]{geometry}
\usepackage[x11names]{xcolor}
\pagecolor{AntiqueWhite1}
\usepackage[type=none]{fgruler}
\setlength\parindent{0pt}
\begin{document}
\thispagestyle{empty}
\rulernorotatenum
\fgrulercaptioncm{}
\fgrulercolorcm{}{}{red}
\rulerparams{}{\scriptsize\color{red}}{}{}{}
{\fgrulerdefnum{$-\arabic{fgrulernum}$}\squareruler*{upperright}{3cm}{3cm}}%
\squareruler{lowerleft}{13cm}{6cm}
\end{document}
We can use these rulers and coordinate to measure distances more flexibly, for example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
\documentclass[a4paper]{article}
\usepackage[margin=1in]{geometry}
\usepackage[x11names]{xcolor}
\pagecolor{AntiqueWhite1}
\usepackage[type=none]{fgruler}
\usepackage{lipsum}
\begin{document}
\thispagestyle{empty}
\lipsum[1-8]
\vspace{-60em}\hspace{5em}
\rulerparams{}{}{red}{}{3pt}
\ruler{rightdown}{7cm}
\vspace{2em}\hspace{5em}
\rulernorotatenum
\fgrulercaptioncm{}
\fgrulercolorcm{}{}{blue}
\rulerparams{}{\scriptsize\color{blue}}{blue}{}{}
{\fgrulerdefnum{$-\arabic{fgrulernum}$}\squareruler*{upperright}{3cm}{3cm}}%
\squareruler{lowerleft}{7cm}{7cm}
\end{document}
References