• No results found

either version 1 of the License, or any later version

N/A
N/A
Protected

Academic year: 2021

Share "either version 1 of the License, or any later version"

Copied!
6
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

The typogrid package

Harald Harders (h.harders@tu-bs.de), Rolf Niepraschk (rolf.niepraschk@ptb.de)

File Version v0.21, 2011/12/31, printed December 31, 2011

Abstract

This package produces a typographic grid on every page of the document.

That grid consists of vertical lines that devide the text block into columns.

This may be useful to get the horizontal measures (distances etc.) into good values.

Contents

1 Usage 1

2 Shortcomings 2

3 The implementation 2

Copyright

Copyright 2003, 2011 Harald Harders, Rolf Niepraschk.

This program can be redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt; either version 1 of the License, or any later version.

1 Usage

Load the package using the

\usepackage[hoptionsi]{typogrid}

command. Valid options are final, draft, columns=hvaluei, headings=htrue,falsei, and margin=htrue,falsei. The options final and draft may be given explicitely or implicitely from the document-class options.

When draft is given the typographic grid is switched on; if final or none of the above is given it is switched off.

The columns option determines the number of columns printed. If it is not given, a default of 12 is used.

If headings=true is given, a grid is printed for the head line and the foot line, too (this is the default, you may also omit it). If headings=false is given, no grid is printed for the headings.

(2)

With margin=false, you can switch off printing a frame around the area for margin notes (default is to print the frame).

There is a second possibility to change the typographic grid. You may use

\typogridsetup

the \typogridsetup command that takes a keyval list as argument. The same keywords are allowed as in the \usepackage line, e.g.,

\typogridsetup{columns=4}

You may use this command within the text in order to change the grid at arbitrary position of the document. The change takes effect on the next page.

If you have switched off printing of the grid, you may get a grid for single pages

\typogrid using

\AddToShipoutPicture*{\typogrid}

The package defines the length \gridwidth which is as long as the space be- tween too grid lines. You may use it to scale pictures to fit to the grid, for instance.

2 Shortcomings

• Calculation of position and size of the headings and the margin works for standard cases, only.

• If the text width changes from one page to the next, the grid width is wrong on the first page after the change.

3 The implementation

Heading of the package:

1\ProvidesPackage{typogrid}

2 [2011/12/31 v0.21 Typographic grid]

3\RequirePackage{calc}

4\RequirePackage{keyval}

Introduce the used lengths.

5\newlength{\gridwidth}%

Introduce the used counters and set the default number of columns.

6\newcount\tpg@blocks%

7\newcounter{tpg@blocks@new}%

8\setcounter{tpg@blocks@new}{12}%

\typogridsetup Declare a command that can be used to change the appearence of the typographic grid. The argument takes a list of keyval options.

9\newcommand*\typogridsetup[1]{%

10 \expandafter\setkeys\expandafter{typogrid}{#1}}

Define the key columns that takes the number of columns.

11\define@key{typogrid}{columns}{%

12 \setcounter{tpg@blocks@new}{#1}%

13 \ifnum\the\c@tpg@blocks@new<1\relax

14 \PackageError{typogrid}{Less than 1 column given}{You have to

(3)

15 declare at least 1 column.}%

16 \setcounter{tpg@blocks@new}{1}%

17 \fi

18}

Define the key headings to switch on or off a frame around the headings.

19\newif\iftpg@headings

20\newif\iftpg@headings@new

21\tpg@headings@newtrue

22\define@key{typogrid}{headings}[true]{%

23 \csname tpg@headings@new#1\endcsname

24}

Define the key margin to switch on or off a frame around the margin.

25\newif\iftpg@margin

26\newif\iftpg@margin@new

27\tpg@margin@newtrue

28\define@key{typogrid}{margin}[true]{%

29 \csname tpg@margin@new#1\endcsname

30}

Package options:

31\newif\iftpg@draft

32\DeclareOption{draft}{\tpg@drafttrue}

33\DeclareOption{final}{\tpg@draftfalse}

34\DeclareOption{colorgrid}{\PassOptionsToPackage{\CurrentOption}{eso-pic}}

35\DeclareOption{grid}{\PassOptionsToPackage{\CurrentOption}{eso-pic}}

36\DeclareOption*{\expandafter\typogridsetup\expandafter{\CurrentOption}}

Default is no grid.

37\ExecuteOptions{final}

38\ProcessOptions\relax

Load this package after processing the options.

39\RequirePackage{eso-pic}[2002/11/16]

\typogrid Define the command that produces the grid.

40\newcommand*\typogrid{%

Switch to black and thin lines.

41 \begingroup

42 \normalcolor

43 \thinlines

Calculate the number of lines to be printed.

44 \@tempcnta=\tpg@blocks

45 \advance\@tempcnta by -1%

Print a frame around the text block.

46 \AtTextLowerLeft{%

47 \put(0,0){%

48 \framebox(\LenToUnit{\textwidth},\LenToUnit{\textheight}){}}%

Print the vertical lines for the grid.

49 \multiput(\LenToUnit{\gridwidth},0)%

50 (\LenToUnit{\gridwidth},0){\the\@tempcnta}{%

51 \line(0,1){\LenToUnit{\textheight}}}%

52 }%

(4)

Print a frame around the head line if wanted.

53 \iftpg@headings

54 \AtTextUpperLeft{%

55 \put(0,\LenToUnit{\headsep}){%

56 \framebox(\LenToUnit{\textwidth},\LenToUnit{\headheight}){}}%

Print the grid.

57 \multiput(\LenToUnit{\gridwidth},\LenToUnit{\headsep})%

58 (\LenToUnit{\gridwidth},0){\the\@tempcnta}{%

59 \line(0,1){\LenToUnit{\headheight}}}%

60 }%

Print a line below the foot line if wanted (the height of the foot line is not available).

61 \AtTextLowerLeft{%

62 \put(0,\LenToUnit{-\footskip}){%

63 \line(1,0){\LenToUnit{\textwidth}}}%

Print the grid.

64 \put(0,\LenToUnit{-\footskip}){%

65 \line(0,1){\LenToUnit{\baselineskip}}}%

66 \put(\LenToUnit{\textwidth},\LenToUnit{-\footskip}){%

67 \line(0,1){\LenToUnit{\baselineskip}}}%

68 \multiput(\LenToUnit{\gridwidth},\LenToUnit{-\footskip})%

69 (\LenToUnit{\gridwidth},0){\the\@tempcnta}{%

70 \line(0,1){\LenToUnit{\baselineskip}}}%

71 }%

72 \fi

Print a frame around the margin if wanted.

73 \iftpg@margin

74 \AtTextLowerLeft{%

75 \@tempdima=\textwidth\advance\@tempdima\marginparsep%

76 \if@twoside%

77 \ifodd\c@page

78 \else

79 \@tempdima=-\marginparsep\advance\@tempdima-\marginparwidth%

80 \fi%

81 \fi%

82 \put(\LenToUnit{\@tempdima},0){%

83 \framebox(\LenToUnit{\marginparwidth},%

84 \LenToUnit{\textheight}){}}%

85 }%

86 \fi

87 \endgroup

Calculate the width of each grid. Store it globally to be able to use it inside the document.

88 \setlength\gridwidth{\textwidth/\arabic{tpg@blocks@new}}%

89 \global\gridwidth=\gridwidth

90 \global\tpg@blocks=\arabic{tpg@blocks@new}%

91 \iftpg@headings@new

92 \global\tpg@headingstrue

93 \else

94 \global\tpg@headingsfalse

95 \fi

96 \iftpg@margin@new

(5)

97 \global\tpg@margintrue

98 \else

99 \global\tpg@marginfalse

100 \fi

101}

Start the grid at \begin{document}. Do it that late to enable the author to switch between draft and final before that position.

102\AtBeginDocument{%

Print the grid on any page if wanted.

103 \iftpg@draft

104 \typeout{Typographic grid switched on}%

105 \AddToShipoutPicture{\typogrid}%

106 \else

107 \typeout{Typographic grid switched off}%

108 \fi

Declare width of grid for first page of document.

109 \setlength\gridwidth{\textwidth/\arabic{tpg@blocks@new}}%

110 \global\tpg@blocks=\arabic{tpg@blocks@new}%

111 \iftpg@headings@new

112 \tpg@headingstrue

113 \else

114 \tpg@headingsfalse

115 \fi

116 \iftpg@margin@new

117 \tpg@margintrue

118 \else

119 \tpg@marginfalse

120 \fi

121}

Change History

0.10

General: First version . . . . 1 0.20

General: Reimplementation with respect to showframe.sty by

Rolf Niepraschk . . . 1 0.21

General: Set date and version ex- plicitly in \ProvidesPackage . . 1 Update Makefile . . . . 1

Index

Numbers written in italic refer to the page where the corresponding entry is de- scribed; numbers underlined refer to the code line of the definition; numbers in roman refer to the code lines where the entry is used.

A

\AddToShipoutPicture . . . . 105

\arabic . 88, 90, 109, 110

\AtBeginDocument . . 102

\AtTextLowerLeft . . . . . 46, 61, 74

\AtTextUpperLeft . . 54

B

\baselineskip 65, 67, 70

(6)

C

\c@page . . . . 77

\c@tpg@blocks@new . 13

\CurrentOption . . 34–36 D

\DeclareOption . . 32–36

\define@key . . 11, 22, 28 E

\ExecuteOptions . . . 37 F

\footskip 62, 64, 66, 68

\framebox . . . 48, 56, 83 G

\global . . . 89, 90, 92, 94, 97, 99, 110

\gridwidth . . . . 5, 49, 50, 57, 58, 68, 69, 88, 89, 109

H

\headheight . . . 56, 59

\headsep . . . 55, 57 I

\if@twoside . . . . 76

\ifodd . . . . 77

\iftpg@draft . . . 31, 103

\iftpg@headings . 19, 53

\iftpg@headings@new . . . 20, 91, 111

\iftpg@margin . . . 25, 73

\iftpg@margin@new . . . . 26, 96, 116

L

\LenToUnit 48–51, 55–

59, 62–70, 82–84

\line 51, 59, 63, 65, 67, 70 M

\marginparsep . . . 75, 79

\marginparwidth . 79, 83 N

\normalcolor . . . . 42 P

\PackageError . . . . . 14

\PassOptionsToPackage . . . . 34, 35

\ProcessOptions . . . 38

\ProvidesPackage . . . 1

R

\RequirePackage 3, 4, 39 S

\setkeys . . . . 10 T

\textheight . . 48, 51, 84

\textwidth . . 48, 56, 63, 66, 75, 88, 109

\thinlines . . . . 43

\tpg@blocks 6, 44, 90, 110

\tpg@draftfalse . . . 33

\tpg@drafttrue . . . . 32

\tpg@headings@newtrue . . . 21

\tpg@headingsfalse . . . . . 94, 114

\tpg@headingstrue . . . . . 92, 112

\tpg@margin@newtrue 27

\tpg@marginfalse 99, 119

\tpg@margintrue 97, 117

\typeout . . . 104, 107

\typogrid . . . 2, 40, 105

\typogridsetup . 2, 9, 36

Referenties

GERELATEERDE DOCUMENTEN

In the subsample of negative total gains in Panel C, the correlation too is positive and significant, this is an unexpected result as we had assumed agency would be a dominant

These findings indicate that three doses of post-exercise protein supplementation resulting in average protein intake of 1.94 ± 0.43 g/kg/d on race day, 1.97 ± 0.44 g/kg/d at one

At about the same time from point (b) at an altitude of 5 km, a negative leader starts to propagate down, with no previous activity seen at its initiation point, toward the neck,

conflicts of care, COVID-19, organizational care, remote work, research ethics.. [Correction added on 19 October 2020, after online publication: In the original-publication

the European Commission’s Seventh Framework Programme through grant FP7-606740 (FP7-SPACE-2013-1) for the Gaia European Network for Improved data User Services (GENIUS) and

Expression levels of the His575Arg and Asn599Ser mutant MCT8 proteins did not differ from WT MCT8, whereas those of all 3 frameshift variants were lower than WT in total lysates

The proposed radiomic algorithm demonstrated high per- formance in the classification of benign and malignant masses in bCT imaging, thanks to a multi-marker radiomic signature based

Crucially, however, the H -linear component in the MR in FeSe 1 −x S x is found to extend beyond the nematic phase [18], implying that such Dirac-like states, as part of an