-
Notifications
You must be signed in to change notification settings - Fork 0
/
memman_2017-2020.patch
4491 lines (4024 loc) · 159 KB
/
memman_2017-2020.patch
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--- memman.tex 2016-11-25 19:29:30.000000000 +0100
+++ /usr/local/texlive/2020/texmf-dist/doc/latex/memoir/memman.tex 2020-10-06 23:35:11.000000000 +0200
@@ -4,19 +4,22 @@
% Author: Peter Wilson
% Copyright 2001, 2002, 2003, 2004, 2008, 2009 Peter R. wilson
%
% This work has the LPPL maintenance status "maintained".
% Maintainer: Lars Madsen (daleif at math dot au dot dk)
%
%\listfiles
\documentclass[10pt,letterpaper,extrafontsizes]{memoir}
-\listfiles
\usepackage{comment}
+\hfuzz=5pt
+
+%\setlength\overfullrule{5pt}
+
% For (non-printing) notes \PWnote{date}{text}
\newcommand{\PWnote}[2]{}
\PWnote{2009/04/29}{Added fonttable to the used packages}
\PWnote{2009/08/19}{Made Part I a separate doc (memdesign.tex).}
% same
\newcommand{\LMnote}[2]{}
@@ -78,19 +81,19 @@
% enables us to gather svn information on a single file basis
%\usepackage[filehooks]{svn-multi-private}
% use the current version
\usepackage[filehooks]{svn-multi}
% \svnidlong
% {}
-% {$LastChangedDate: 2015-03-05 18:49:59 +0100 (Thu, 05 Mar 2015) $}
-% {$LastChangedRevision: 516 $}
-% {$LastChangedBy: daleif $}
+% {$LastChangedDate: 2020-03-25 19:00:55 +0100 (Wed, 25 Mar 2020) $}
+% {$LastChangedRevision: 686 $}
+% {$LastChangedBy: [email protected] $}
\makeatletter
\newcommand\addRevisionData{%
\begin{picture}(0,0)%
\put(0,-20){%
\tiny%
@@ -111,31 +114,62 @@
\else
% disable svn info collecting
\newcommand\svnidlong[4]{}
\fi
+
+
%% end preamble
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%#% extend
+
+%\hfuzz=10pt
+
\usepackage[draft]{fixme}
\fxsetup{
- layout=marginnote
+ multiuser,
+ marginface=\normalfont\tiny,
+ innerlayout=noinline,
+ layout=marginnote,
}
-
+\usepackage{tikz,ragged2e}
+\makeatletter
+% extra feature, vadj=length kan flytte på fxnotes hvis de overlapper
+\@fxdefinekey{layout}{vadj}{\def\marginnotevadjust{#1}}
-\begin{document}
+% endnu mere ekstra feature, kræver tikz og calc tikz lib
+\renewcommand*\FXLayoutMarginNote[3]{%
+ \tikz[overlay,remember picture]\coordinate (A) at (0,0);%
+ \marginnote[%
+ \RaggedLeft%
+ \rlap{\tikz[overlay,remember picture]\coordinate(C) at (0,0);}%
+ \@fxuseface{margin}%
+ \@fxtextstd{#1}{#2}{#3}%
+ {\tikz[overlay,remember picture,ultra thin,cyan]\draw(A) -| ++(0,-2pt) -|(C);}%
+ ]{%
+ \RaggedRight%
+ \tikz[overlay,remember picture]\coordinate(B) at (0,0);%
+ \@fxuseface{margin}%
+ \@fxtextstd{#1}{#2}{#3}%
+ \tikz[overlay,remember picture,ultra thin,cyan]\draw(A) -| ++(0,-2pt) -|(B);%
+ }%
+}
+\makeatother
+\begin{document}
+
+
%#% extstart input intro.tex
%\tightlists
\firmlists
@@ -207,18 +241,25 @@
\PWnote{2009/06/26}{Updated the copyright page for 9th impression}
% copyright page
\begingroup
\footnotesize
\setlength{\parindent}{0pt}
\setlength{\parskip}{\baselineskip}
%%\ttfamily
-\textcopyright{} 2001 --- 2010 Peter R. Wilson \\
-\textcopyright{} 2011 --- \phantom{2014} Lars Madsen \\
+%\textcopyright{} 2001 --- 2010 Peter R. Wilson \\
+%\textcopyright{} 2011 --- \phantom{2099} Lars Madsen \\
+
+\begin{tabular}{@{} l l}
+ \textcopyright{} 2001\:---\:2010 &Peter R. Wilson \\
+ \textcopyright{} 2011\:---\:& Lars Madsen
+\end{tabular}
+
+
All rights reserved
The Herries Press, Normandy Park, WA.
Printed in the World
The paper used in this publication may meet the minimum requirements
of the American National Standard for Information
@@ -302,20 +343,42 @@
% ToC, etc
%%%\pagenumbering{roman}
\pagestyle{headings}
%%%%\pagestyle{Ruled}
\setupshorttoc
\tableofcontents
-\clearpage
+\clearforchapter
\setupparasubsecs
\setupmaintoc
+
+\begingroup
+
+% important point here: We need \endlineshar=-1 here for the inline
+% list of subsections. Why? Beacause we have subsection subsubsection
+% subsection, and under hyperref running the l@subsubsection for
+% subsubsection, which typesets nothing, ruins our \ignorespaces in
+% our redefinition of \l@subsection (it cannot see and ignore the space after the
+% \contentsline line for subsubsection). Easiest solution: use
+% change \endlinechar
+%
+% Special thanks to David Carlisle in the tex.stackexchange.com chat
+% for suggesting it
+
+
+\endlinechar=-1
+
+
\tableofcontents
+
+\endgroup
+
+
\setlength{\unitlength}{1pt}
\clearpage
\listoffigures
\clearpage
\listoftables
\clearpage
\listofegresults
@@ -1246,19 +1309,19 @@
\end{comment}
%#% extend
%#% extstart include intro-8.tex
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2015-04-22 17:17:51 +0200 (Wed, 22 Apr 2015) $}
-{$LastChangedRevision: 527 $}
-{$LastChangedBy: daleif $}
+{$LastChangedDate: 2019-11-14 18:06:44 +0100 (Thu, 14 Nov 2019) $}
+{$LastChangedRevision: 662 $}
+{$LastChangedBy: [email protected] $}
\chapter{Introduction to the eighth edition}
The \Mname\ class and this manual have seen many changes since they
first saw the light of day. The major functions, and extensions to
them, were listed in the various introductions to the previous
editions of this manual and it would now be tedious to read them.
@@ -1279,17 +1342,17 @@
methods similar to the \Lpack{fancyhdr} package for designing your own
headers. The built-in package functions are mainly related to document
design and layout; \Mname\ does not touch upon areas like those that are
covered by the \Lpack{babel} or \Lpack{hyperref} packages or any related to
typesetting mathematics. On the other hand it is easy to configure a work
produced with \Mname\
to meet a university's thesis layout requirements.
- \Mname\ has improved substantially since it was first released ---
+The \Mname\ class has improved substantially since it was first released ---
over 50 \ltx ers have provided code or suggestions for improvements.
The class is included in the \TeXUG\ \tx\ distributions and the latest
version of the class and its supporting documentation is always
available from %
\ctan\ at \url{latex/contrib/memoir}.
This is not a guide to the general use of \ltx\ but rather concentrates
on where the \index{class}\Lclass{memoir} class differs from the standard \ltx\
@@ -1298,26 +1361,26 @@
I assume that you have already used \ltx\ and therefore know how to prepare
a \ltx\ manuscript, how to run \ltx\ and print the resulting document,
and that you can also use auxiliary programs like \Lmakeindex\
and \Lbibtex.
\section{General considerations}
- The class is a large one consisting of about 10,000 lines of \ltx\ code
-documented in a 400 page report; there is no need for most users to look at
-this~\cite{MEMCODE}. However if you want to see exactly how some part,
-or all of, \Mname\ is defined it is there for you to peruse.
-The document you are now reading is the separate comprehensive
-User Manual~\cite{MEMMAN} which runs to about 500 pages, and from time to
-time an Addendum %\cite{MEMADD}
-is released noting extensions to the class.\footnote{Currently not in use.}
-Again, if you want to see how something was done in this Manual, which
-of course was prepared using \Mname\ itself, the source
+The class is a large one consisting of about 10,000 lines of \ltx\
+code documented in a 400 page report; there is no need for most users
+to look at this~\cite{MEMCODE}. However if you want to see exactly how
+some part, or all of, \Mname\ is defined it is there for you to
+peruse. The document you are now reading is the separate
+comprehensive User Manual~\cite{MEMMAN} which runs to about 500 pages,
+and from time to time an Addendum %\cite{MEMADD}
+is released noting extensions to the class.\footnote{Currently not in
+ use.} Again, if you want to see how something was done in this
+Manual, which of course was prepared using \Mname\ itself, the source
is available for you to read.
% There is also the \Lpack{memexsupp} package by Lars Madsen~\cite{MEMEXSUPP}
% which provides some extra facilities for the class.
The previous editions of the Manual consisted of two parts. The first
discussing some aspects of book design and typography in
general, something that I hadn't come across in the usual \ltx\ books
and manuals. That was intended to provide a little background for when
@@ -1409,20 +1472,30 @@
to `non-floating' illustrations or as legends (i.e., unnumbered captions) to
the regular floats. The captioning system
also supports subfigures and subtables along the lines of the \Lpack{subfig}
package, plus letting you define your own new kinds of floats together
with the corresponding `\listofx'.
\section{Tables}
- Code from the \Lpack{array}, \Lpack{dcolumn}, \Lpack{delarray} and
-\Lpack{tabularx} packges is integrated within the class. To improve
-the appearance of rules in tabular material the \Lpack{booktabs}
-package is also included.
+% Code from the \Lpack{array}, \Lpack{dcolumn}, \Lpack{delarray} and
+%\Lpack{tabularx} packges is integrated within the class. To improve
+%the appearance of rules in tabular material the \Lpack{booktabs}
+%package is also included.
+
+The \Lpack{array}, \Lpack{dcolumn}, \Lpack{delarray}, \Lpack{tabularx}
+are automatically loaded by the class. In earlier days their code were
+embedded into the class, nowadays we just load the respective
+packages. To improve the appearance of rules in tabular material the
+\Lpack{booktabs} package is also included (as a code copy, this may
+change in the future).
+
+
+
Multipage tabulations are often set with the \Lpack{longtable} or
\Lpack{xtab} packages, which can of course be used with the class. For
simple tabulations that may continue from one page to the next, \Mname\
offers a `continuous tabular' environment. This doesn't have all the
flexibility provided by the packages but can often serve instead
of using them.
@@ -1563,75 +1636,83 @@
and write information in external files, design your own style of
\cs{maketitle}, convert numbers to words, reserve space at the bottom of a
page, and so on and so forth.
%% \appendix
\section{Packages}
- Most packages work with the \Mname\ class, the main exception being
-the \Lpack{hyperref} package. This package modifies
-many of the internals of the standard classes but does not cater for all of
-the differences between \Mname\ and the standard ones. If you wish to use
-\Lpack{hyperref} with \Mname\ then you must use the \Lpack{memhfixc}
+Most packages work with the \Mname\ class, the main exception being
+the \Lpack{hyperref} package. This package modifies many of the
+internals of the standard classes but does not cater for all of the
+differences between \Mname\ and the standard ones.
+
+If you use \Lpack{hyperref} with \Mname\ then the \Lpack{memhfixc}
package\footnote{\Lpack{memhfixc} is supplied as part of the \Mname\
-distribution.} after using \Lpack{hyperref}. For example like:
-\begin{lcode}
-\documentclass[...]{memoir}
-...
-\usepackage[...]{hyperref}
-\usepackage{memhfixc}
-...
-\begin{document}
-\end{lcode}
-However, if you have a version of \Lpack{hyperref} dated 2006/11/15 or after,
-\Lpack{hyperref}
-will automatically call in \Lpack{memhfixc} so that you don't have to do
-anything.
+ distribution.} is automatically loaded by \Lpack{hyperref} to
+provide some class specific alterations.
+% For example like:
+% \begin{lcode}
+% \documentclass[...]{memoir}
+% ...
+% \usepackage[...]{hyperref}
+% \usepackage{memhfixc}
+% ...
+% \begin{document}
+% \end{lcode}
+% However, if you have a version of \Lpack{hyperref} dated 2006/11/15 or after,
+% \Lpack{hyperref}
+% will automatically call in \Lpack{memhfixc} so that you don't have to do
+% anything.
The \Mname\ class includes code either equivalent to, or extensions of, the
following packages; that is, the set of commands and environments is at least
the same as those in the packages:
%\begin{itemize}%\item
-\begin{lineitems}
+\begin{adjustwidth}{2em}{2em}
+ \begin{center}
+ \begin{lineitems}
\Lpack{abstract}
-\item \Lpack{appendix}
-\item \Lpack{array}
-\item \Lpack{booktabs}
-\item \Lpack{ccaption}
-\item \Lpack{chngcntr}
-\item \Lpack{chngpage}
-\item \Lpack{dcolumn}
-\item \Lpack{delarray}
-\item \Lpack{enumerate}
-\item \Lpack{epigraph}
-\item \Lpack{framed}
-\item \Lpack{ifmtarg}
-\item \Lpack{ifpdf}
-\item \Lpack{index}
-\item \Lpack{makeidx}
-\item \Lpack{moreverb}
-\item \Lpack{needspace}
-\item \Lpack{newfile}
-\item \Lpack{nextpage}
-\item \Lpack{parskip}
-\item \Lpack{patchcmd}
-\item \Lpack{setspace}
-\item \Lpack{shortvrb}
-\item \Lpack{showidx}
-\item \Lpack{tabularx}
-\item \Lpack{titleref}
-\item \Lpack{titling}
-\item \Lpack{tocbibind}
-\item \Lpack{tocloft}
-\item \Lpack{verbatim}
-\item \Lpack{verse}.
-\end{lineitems}
-%\end{itemize}
+ \item \Lpack{appendix}
+ % \item \Lpack{array}
+ \item \Lpack{booktabs}
+ \item \Lpack{ccaption}
+ \item \Lpack{chngcntr}
+ \item \Lpack{chngpage}
+ % \item \Lpack{dcolumn}
+ % \item \Lpack{delarray}
+ \item \Lpack{enumerate}
+ \item \Lpack{epigraph}
+ \item \Lpack{framed}
+ \item \Lpack{ifmtarg}
+ % \item \Lpack{ifpdf}
+ \item \Lpack{index}
+ \item \Lpack{makeidx}
+ \item \Lpack{moreverb}
+ \item \Lpack{needspace}
+ \item \Lpack{newfile}
+ \item \Lpack{nextpage}
+ \item \Lpack{parskip}
+ \item \Lpack{patchcmd}
+ \item \Lpack{setspace}
+ \item \Lpack{shortvrb}
+ \item \Lpack{showidx}
+ % \item \Lpack{tabularx}
+ \item \Lpack{titleref}
+ \item \Lpack{titling}
+ \item \Lpack{tocbibind}
+ \item \Lpack{tocloft}
+ \item \Lpack{verbatim}
+ \item \Lpack{verse}.
+ \end{lineitems}
+ \end{center}
+\end{adjustwidth}
+% \end{itemize}
+
The class automatically ignores any
\verb?\usepackage? or \verb?\RequirePackage? related to these. However, if
you want to specifically use one of these packages rather than the integrated
version then you can do so. For arguments sake, assuming you really want
to use the \Lpack{titling} package you can do this:
\begin{lcode}
\documentclass[...]{memoir}
\DisemulatePackage{titling}
@@ -1646,31 +1727,49 @@
of capability should be part of the class and not depend on assumptions.
In the particular case of the \Lpack{setspace} package, even with the
standard classes, there can be some unexpected spacing around displayed
material; this has not occured with \Mname's implementation.
The class also provides functions similar to those provided by the following
packages, although the commands are different:
%\begin{itemize}%\item
-\begin{lineitems}%\item
-\Lpack{crop}
-\item \Lpack{fancyhdr}
-\item \Lpack{geometry}
-\item \Lpack{sidecap}
-\item \Lpack{subfigure}
-\item \Lpack{titlesec}.
-\end{lineitems}
+\begin{center}
+ \begin{lineitems}%\item
+ \Lpack{crop}
+ \item \Lpack{fancyhdr}
+ \item \Lpack{geometry}
+ \item \Lpack{sidecap}
+ \item \Lpack{subfigure}
+ \item \Lpack{titlesec}.
+ \end{lineitems}
+\end{center}
%\end{itemize}
You can use these packages
if you wish, or just use the capabilities of the \Mname\ class.
The class has built in support for the \Lpack{bidi} package for
bidirectional typesetting~\cite{BIDI}.
+The following packages are automatically loaded by the class:
+\begin{center}
+ \begin{lineitems}
+ \Lpack{array}
+ \item \Lpack{dcolumn}
+ \item \Lpack{delarray}
+ \item \Lpack{etex}
+% \item \Lpack{ifetex}
+% \item \Lpack{ifxetex}
+% \item \Lpack{ifpdf}
+% \item \Lpack{ifluatex}
+ \item \Lpack{iftex}
+ \item \Lpack{tabularx}
+ \item \Lpack{textcase}~(with~\texttt{overload}~option)
+ \end{lineitems}
+\end{center}
\section{Resources} \label{sec:resources}
Scattered throughout
%, but mainly in Part~\ref{part:art},
are comments about aspects of book design and typography, in some cases
accompanied by examples of better and poorer practice. If you want more
@@ -1727,21 +1826,29 @@
Alan Hoenig's book~\cite{HOENIG98} is the best guide to this that I know of.
\pixctan\ hosts Philipp Lehman's font installation guide~\cite{FONTINST};
this is well worth looking at just as an example of fine typesetting.
The source code for the \Lclass{memoir} class is, of course,
freely available from \pixctan\ if you wish to see exactly what it does
and how it does it.
- For a more interactive resource you can ask questions on the
-\url{comp.text.tex} newsgroup. If you are a newcomer to \pixctt\
-please read the FAQ~\cite{FAQ} before asking a question, and also read
-a few day's worth of messages to check that your question hasn't just
-been answered.
+For a more interactive resource you can ask questions on
+\begin{center}
+ \url{http://tex.stackexchange.com}.
+\end{center}
+-- if the question is \Mname\ related, please tag it so.
+
+
+
+% For a more interactive resource you can ask questions on the
+% \url{comp.text.tex} newsgroup. If you are a newcomer to \pixctt\
+% please read the FAQ~\cite{FAQ} before asking a question, and also read
+% a few day's worth of messages to check that your question hasn't just
+% been answered.
\section{Type conventions}
The following conventions are used:
\begin{itemize}
\item \Pclass{The names of \ltx\ classes\index{class} and
packages\index{package} are typeset in this font.}
\item \Popt{Class options\index{option} are typeset in this font.}
@@ -1882,17 +1989,18 @@
If I have inadvertently left anyone off the list I apologise,
and please let me know so that I can correct the
omisssion.% \footnote{Peter is currently occasionably reachable via email
% at \texttt{herries dot press (at) earthlink dot net}, otherwise write
% the maintainer at \texttt{daleif at math dot au dot dk}}
\footnote{Please write the maintainer at \texttt{daleif at math dot au
dot dk}} Along those lines, if you have any questions you may
-direct them to the \url{comp.text.tex} newsgroup or post them on
+%direct them to the \url{comp.text.tex} newsgroup or
+post them on
\url{http://tex.stackexchange.com} as you are likely to get a
satisfactory and timely response.
Of course, none of this would have been possible without Donald Knuth's
\tx\ system and the subsequent development of \ltx\ by Leslie Lamport.
\PWnote{2009/07/26}{Added `Remarks to the user' chapter}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1924,38 +2032,38 @@
to do so, then copy the code you wish to change into the document's preamble
or a package of your own or a class of your own (with a different name)
and make the changes there. Do not expect any help if you change the
\Lclass{memoir} class code directly.
\fancybreak{}
As the years go by support for \Lclass{memoir} will devolve from one
-person to another.\footnote{This is currently (July 2009) happening as
- Lars Madsen is taking over from Peter Wilson.} Therefore it is
+person to another.\footnote{Lars Madsen took over from Peter Wilson in
+ 2009.} Therefore it is
probably safer to ask questions, complain, make suggestions, etc., on
-a Q\&A site like \url{http://tex.stackexchange.com} or on the the
-newsgroup \url{comp.text.tex}, which is archived and read by many,
+a Q\&A site like \url{http://tex.stackexchange.com}% or on the the
+% newsgroup \url{comp.text.tex}
+, which is archived and read by many,
than correspond directly with the maintainer, who might well be away
for some considerable time and perhaps not notice your email after
having returned to base.
In either case please include the word \texttt{\theclass} in the
subject, and if possible, please \emph{tag} the question with the
\texttt{\theclass} tag. That will help the memoir maintainer keep
track of memoir related matters.
\fancybreak{}
-\textit{From the maintainer:} It seems that traffic on
-\url{comp.text.tex} is less frequent. So most \theclass\ related
-questions should go to \url{http://tex.stackexchange.com}, please
-remember to tag them properly, that really helps locating the
-\theclass\ related questions. If no-one comes up with an answer, you
-can also write me directly via \texttt{daleif (at) math dot au dot dk}.
+\textit{From the maintainer:} Most \Mname\ related questions
+should go to \url{http://tex.stackexchange.com}, please remember to
+tag them properly, that really helps locating the \Mname\ related
+questions. If no-one comes up with an answer, you can also write me
+directly via \texttt{daleif (at) math dot au dot dk}.
%#% extend
%#% extstart include terminology.tex
@@ -2162,19 +2270,19 @@
%%%%%\part{Practice} \label{part:practice}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%#% extstart include start-off.tex
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2015-08-21 12:00:47 +0200 (Fri, 21 Aug 2015) $}
-{$LastChangedRevision: 544 $}
-{$LastChangedBy: daleif $}
+{$LastChangedDate: 2020-02-19 15:38:41 +0100 (Wed, 19 Feb 2020) $}
+{$LastChangedRevision: 679 $}
+{$LastChangedBy: [email protected] $}
\chapter{Starting off} \label{chap:starting}
As usual, the \Lclass{memoir} class is called by
\cmd{\documentclass}\oarg{options}\texttt{\{memoir\}}. The \meta{options}\index{class options}
include being able to select a paper\indextwo{paper}{size} size from among a range of sizes,
selecting a type size, selecting the kind of manuscript, and some related
@@ -2190,24 +2298,28 @@
included in the tables are commands that will set the stock size or paper size to
the same dimensions.
\begin{table}
\centering
\caption{Class stock metric paper size options, and commands}\label{tab:sizeoptsmetric}
\begin{tabular}{llll} \toprule
Option & Size & stock size command & page size command \\ \midrule
+\Lopt{a7paper}\index{paper!size!A7}\index{stock!size!A7}
+ & \abybm{105}{74}{mm} & \cmd{\stockavii} & \cmd{\pageavii} \\
\Lopt{a6paper}\index{paper!size!A6}\index{stock!size!A6}
& \abybm{148}{105}{mm} & \cmd{\stockavi} & \cmd{\pageavi} \\
\Lopt{a5paper}\index{paper!size!A5}\index{stock!size!A5}
& \abybm{210}{148}{mm} & \cmd{\stockav} & \cmd{\pageav} \\
\Lopt{a4paper}\index{paper!size!A4}\index{stock!size!A4}
& \abybm{297}{210}{mm} & \cmd{\stockaiv} & \cmd{\pageaiv} \\
\Lopt{a3paper}\index{paper!size!A3}\index{stock!size!A3}
& \abybm{420}{297}{mm} & \cmd{\stockaiii} & \cmd{\pageaiii} \\
+\Lopt{b7paper}\index{paper!size!B7}\index{stock!size!B7}
+ & \abybm{125}{88}{mm} & \cmd{\stockbvii} & \cmd{\pagebvii} \\
\Lopt{b6paper}\index{paper!size!B6}\index{stock!size!B6}
& \abybm{176}{125}{mm} & \cmd{\stockbvi} & \cmd{\pagebvi} \\
\Lopt{b5paper}\index{paper!size!B5}\index{stock!size!B5}
& \abybm{250}{176}{mm} & \cmd{\stockbv} & \cmd{\pagebv} \\
\Lopt{b4paper}\index{paper!size!B4}\index{stock!size!B4}
& \abybm{353}{250}{mm} & \cmd{\stockbiv} & \cmd{\pagebiv} \\
\Lopt{b3paper}\index{paper!size!B3}\index{stock!size!B3}
& \abybm{500}{353}{mm} & \cmd{\stockbiii} & \cmd{\pagebiii} \\
@@ -2428,18 +2540,20 @@
\item[\Lopt{11pt}] for 11pt as the normal type size
\glossary(11ptco)%
{\Popt{11pt}}%
{Class option for a 11pt body font.}
\item[\Lopt{12pt}] for 12pt as the normal type size
\glossary(12ptco)%
{\Popt{12pt}}%
{Class option for a 12pt body font.}
-\item[\Lopt{14pt}] for 14pt as the normal type size
-\glossary(14ptco)%
+\item[\Lopt{14pt}] for 14pt as the normal type size\footnote{Note that
+ for \Lopt{14pt}, \cs{huge}, \cs{Huge} and \cs{HUGE} will be the
+ same as \cs{LARGE}, unless the \Lopt{extrafontsizes} option is
+ also is activated.} \glossary(14ptco)%
{\Popt{14pt}}%
{Class option for a 14pt body font.}
\item[\Lopt{17pt}] for 17pt as the normal type size
\glossary(17ptco)%
{\Popt{17pt}}%
{Class option for a 17pt body font.}
\item[\Lopt{20pt}] for 20pt as the normal type size
\glossary(20ptco)%
@@ -2464,17 +2578,24 @@
\item[\Lopt{60pt}] for 60pt as the normal type size
\glossary(60ptco)%
{\Popt{60pt}}%
{Class option for a 60pt body font.}
\item[\Lopt{*pt}] for an author-defined size as the normal type size
\glossary(*ptco)%
{\Popt{*pt}}%
{Class option for an author-defined size for the body font.}
-\item[\Lopt{extrafontsizes}] Using scalable fonts that can exceed 25pt.
+\item[\Lopt{extrafontsizes}] Using scalable fonts that can exceed
+ 25pt.
+
+ \emph{Note that this includes \cs{huge}, \cs{Huge} and \cs{HUGE}
+ under \Lopt{14pt}. For \Lopt{17pt} and up, an error is thrown if
+ used without \Lopt{extrafontsizes}, no error is given for
+ \Lopt{14pt}, there sizes above \cs{LARGE} will just be unavailable
+ unless \Lopt{extrafontsizes} is used.}
\glossary(extrafontsizes)%
{\Popt{extrafontsizes}}%
{Class option for using scalable fonts that can exceed 25pt.}
\end{itemize}
These options, except for \Lopt{extrafontsizes}, are mutually exclusive.
The default type size\indextwo{default}{type size} is \Lopt{10pt}.
@@ -2647,17 +2768,17 @@
\item[\Lopt{showtrims}] this option prints marks at the corners of the
sheet so that you can see where the stock\index{stock}
must be trimmed to produce the final page size.
\glossary(showtrimsco)%
{\Popt{showtrims}}%
{Class option for printing trimming marks.}
\end{itemize}
-
+%
The defaults among the printing options\index{default!printing options}
are \Lopt{twoside}, \Lopt{onecolumn}, \Lopt{openright}, and \Lopt{final}.
\section{Other options}
The remaining options are:
\begin{itemize}
@@ -2682,17 +2803,18 @@
by \cmd{\bibindent} (the default is for an entry
to run continuously with no indentations).
\glossary(openbibco)%
{\Popt{openbib}}%
{Class option for indenting continuation lines in a bibliography.}
\item[\Lopt{article}]\index{class options!article}
typesetting \emph{simulates} the \Lclass{article} class,
- but the \cmd{\chapter} command is not disabled.
+ but the \cmd{\chapter} command is not disabled, basically
+ \cmd{\chapter} will behave as if it was \cmd{\section}.
Chapters\index{chapter} do not start a new page and chapter
headings\index{heading!chapter} are typeset
like a section heading\index{heading!sections}. The numbering of
figures\index{figure}, etc., is continuous
and not per chapter. However, a \cmd{\part} command still puts
its heading\index{heading!part} on a page by itself.
\glossary(articleco)%
{\Popt{article}}%
@@ -2701,19 +2823,27 @@
\item[\Lopt{oldfontcommands}]\index{class options!fonts}
makes the old, deprecated LaTeX version~2.09
font commands available. Warning messages will be produced whenever
an old font command is encountered.
\glossary(oldfontcommandsco)%
{\Popt{oldfontcommands}}%
{Class option for permitting obsolete, deprecated font commands.}
-\end{itemize}
- None of these options are defaulted.
+\item[\Lopt{fullptlayout}]\index{class options!layout truncation}
+ disable point trunction of certain layout lengths, for example
+ \cmd{\textwidth}. The default is to round these of to a whole number
+ of points, this option disables this feature.
+ \glossary(fullptlayout)%
+ {\Popt{fullptlayout}}%
+ {Class option to disable point truncation of certain layout lengths.}
+\end{itemize}
+%
+None of these options are defaulted.
\section{Remarks}
Calling the class with no options is equivalent to:
\begin{lcode}
\documentclass[letterpaper,10pt,twoside,onecolumn,openright,final]{memoir}
\end{lcode}
The source file for this manual starts
@@ -2772,18 +2902,18 @@
\clearpage
\pagestyle{ruled}
%#% extstart include laying-out-page.tex
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2015-11-23 09:32:30 +0100 (Mon, 23 Nov 2015) $}
-{$LastChangedRevision: 547 $}
+{$LastChangedDate: 2020-03-25 19:00:55 +0100 (Wed, 25 Mar 2020) $}
+{$LastChangedRevision: 686 $}
{$LastChangedBy: [email protected] $}
\chapter{Laying out the page} \label{chap:layingpage}
Up until this chapter the \pstyle{headings} pagestyle\index{pagestyle}
has been used; pagestyles are described in \Sref{sec:pagestyles}.
This, and later chapters, are typeset with the \pstyle{ruled} pagestyle.
@@ -3107,31 +3237,31 @@
\begin{lcode}
\settrims{2in}{2in}
\end{lcode}
specifies trimming 2in from the top and \foredge{} of the stock
giving the desired page size. Taking a design where, say, the page
is 90\% of the stock size it's easy to get \ltx\ to do the calculation:
\begin{lcode}
\setlength{\trimtop}{\stockheight} % \trimtop = \stockheight
-\addtolengh{\trimtop}{-\paperheight} % - \paperheight
+\addtolength{\trimtop}{-\paperheight} % - \paperheight
\setlength{\trimedge}{\stockwidth} % \trimedge = \stockwidth
\addtolength{\trimedge}{-\paperwidth} % - \paperwidth
\end{lcode}
which will set all the trimming to be at the top and \foredge.
If you wanted, say, equal trims at the top and bottom you could go
on and specify
\begin{lcode}
\settrims{0.5\trimtop}{\trimedge}
\end{lcode}
\fancybreak{}
-See also section~\ref{sec:predefined-layouts} --
-\emph{\titleref{sec:predefined-layouts}}, where we present some extra
+See also section~\ref{sec:place-trimmed-page} --
+\emph{\titleref{sec:place-trimmed-page}}, where we present some extra
commands. For example \cmd{\setpagecc} for placing a trimmed page
centered on the stock.
After trimming the various methods to specify the typeblock, now
refers to the \emph{trimmed} page, not the stock material.
\section{The typeblock} \label{sec:typeblock2}
@@ -3721,43 +3851,21 @@
\bottomrule
\end{tabular}
\end{table}
\begin{note}
Readers may find several folio designs in \cite{MEMDESIGN}.
\end{note}
+See also Section~\ref{sec:predefined-layouts}
+(\emph{\titleref{sec:predefined-layouts}}) for some predefined layouts.
-\fancybreak{}
-\begin{syntax}
-\cmd{\setcolsepandrule}\marg{colsep}\marg{thickness} \\
-\end{syntax}
-\glossary(setcolsepandrule)%
- {\cs{setcolsepandrule}\marg{colsep}\marg{thickness}}%
- {Sets the width of the gutter and the thickness of the rule in the gutter.}
-\glossary(columnsep)%
- {\ls{columnsep}}%
- {Width of the gutter between columns.}
-\glossary(columnseprule)%
- {\ls{columnseprule}}%
- {Thickness of the rule in the gutter.}
- For twocolumn\index{column!double} text the width of
-the gutter\index{gutter}
-between the columns must be specified. \ltx\ also lets you draw a
-vertical rule in the middle of the
-gutter. The macro \cmd{\setcolsepandrule}
-sets the gutter width\index{gutter!width}, \lnc{\columnsep}, to \meta{colsep}
-and the thickness of the rule, \lnc{\columnseprule},
-to \meta{thickness}. A \meta{thickness} of 0pt means that the rule will be
-invisible. Visible rules usually have a thickness\index{rule!thickness}
-of about 0.4pt. The total width of the twocolumns\index{column!double}
-of text and the gutter equals the width of the typeblock\index{typeblock}.
This completes the methods for specifying the layout of the
main elements of the page --- the page\index{page!specifying size}
size, the size of the typeblock\index{typeblock!specifying size} and the
margins\index{margin!specifying size}
surrounding the typeblock\index{typeblock!location}.
\section{Headers, footers and marginal notes}
@@ -3899,16 +4007,43 @@
\end{note}
\index{marginalia|)} %|
\section{Other}
\label{sec:other}
+\begin{syntax}
+\cmd{\setcolsepandrule}\marg{colsep}\marg{thickness} \\
+\end{syntax}
+\glossary(setcolsepandrule)%
+ {\cs{setcolsepandrule}\marg{colsep}\marg{thickness}}%
+ {Sets the width of the gutter and the thickness of the rule in the gutter.}
+\glossary(columnsep)%
+ {\ls{columnsep}}%
+ {Width of the gutter between columns.}
+\glossary(columnseprule)%
+ {\ls{columnseprule}}%
+ {Thickness of the rule in the gutter.}
+ For twocolumn\index{column!double} text the width of
+the gutter\index{gutter}
+between the columns must be specified. \ltx\ also lets you draw a
+vertical rule in the middle of the
+gutter. The macro \cmd{\setcolsepandrule}
+sets the gutter width\index{gutter!width}, \lnc{\columnsep}, to \meta{colsep}
+and the thickness of the rule, \lnc{\columnseprule},
+to \meta{thickness}. A \meta{thickness} of 0pt means that the rule will be
+invisible. Visible rules usually have a thickness\index{rule!thickness}
+of about 0.4pt. The total width of the twocolumns\index{column!double}
+of text and the gutter equals the width of the typeblock\index{typeblock}.
+
+
+\fancybreak{}
+
\begin{syntax}
\cmd{\setfootins}\marg{length for normal}\marg{length for minipage} \\
\end{syntax}
% \glossary(setfootins)%
% {\cs{setfootins}\marg{length for normal}\marg{length for minipage}}%
% {Sets \cs{skip}\cs{footins} and its minipage counterpart.}
@@ -4170,16 +4305,33 @@
and calculates the values for all the standard \ltx\ layout
parameters\index{page layout!LaTeX parameters?\ltx\ parameters} (such
that packages can use these expected values).
If you have used the class macros to change
the layout in any way, you must call \cmd{\checkandfixthelayout} after you have
made all the necessary changes. As an aid, the final layout parameter values
are displayed on the terminal and written out to the log file.
+At the beginning of the document we will automatically add the
+page/stock sizes etc to the output such that viewers etc reacts
+accordingly. In incase you need to manually have the class rewrite
+these sizes to the document, you can use
+
+\begin{syntax}
+\cmd{\refixpagelayout}\\
+\end{syntax}
+\glossary(refixpagelayout)%
+ {\cs{refixpagelayout}}%
+ {Command to reemit the document size to the output.}%
+Please note that this macro (and its name), may change in the
+future.\footnote{In a comming version, in later in 2020, we will
+ hopefully be able to support changing the stock and layout mid
+ document, like what is provided by the \Lpack{geometry}.}
+
+
\LMnote{2010/09/17}{added \cs{\settypeoutlayoutunit}}
\begin{syntax}
\cmd{\typeoutlayout} \\
\cmd{\typeoutstandardlayout} \\
\cmd{\settypeoutlayoutunit}\marg{unit} \\
\end{syntax}
\glossary(settypeoutlayoutunit)%
{\cs{settypeoutlayoutunit}}%
@@ -4230,69 +4382,81 @@
\begin{lcode}
\documentclass{memoir}
%%% set up the recto page layout
\checkandfixthelayout% or perhaps \checkandfixthelayout[lines]
\setlength{\evensidemargin}{\oddsidemargin}% after \checkandfix...
...
\end{lcode}
-\section{Printing and viewing}
-
- When \pdfltx\ is used to generate a \pixpdf\ version of a \Pclass{memoir}
-document some special setup must be done.
-\begin{syntax}
-\cmd{\fixpdflayout} \\
-\end{syntax}
-\glossary(fixpdflayout)%
- {\cs{fixpdflayout}}%
- {Sets up page size information for \pdfltx.}
-The macro \cmd{\fixpdflayout}\index{page layout!PDF} is automatically called after the preamble when
-\pdfltx{} is used to generate \pixpdf. The default definition is effectively:
-\begin{lcode}
-\newcommand*{\fixpdflayout}{
- \pdfpageheight=\the\stockheight
- \pdfpagewidth=\the\stockwidth
- \ifxetex\else
- \ifdim\pdforigin=0pt\pdforigin=1in\fi
- \ifdim\pdfhorigin=0pt\pdfhorigin=1in\fi
- \fi}
-\end{lcode}
-The first settings (\verb?\pdfpage...?) ensure that \pdfltx{} knows
-the size of the physical sheet\indextwo{stock}{size} for printing.
-The \verb?\...origin? settings
-set the \pdf{} origin per the \tx\ origin, provided that their values are
-0pt. If you have set the origin values yourself, either in a \pdfltx{}
-configuration\index{configuration file} file or earlier in the preamble,
-the \cmd{\fixpdflayout}
-macro will not alter them (if you need an origin value to be 0 then
-set it to 1sp, which is visually indistinguishable from 0pt).
-
-\begin{syntax}
-\cmd{\fixdvipslayout} \\
-\end{syntax}
-\glossary(fixdvipslayout)%
- {\cs{fixdvipslayout}}%
- {Sets up page size information for dvi processors.}
-
-The macro \cmd{\fixdvipslayout}\index{page layout!dvips} is automatically
-called after the preamble
-when \pixpdf{} output is not being produced. It provides the \Lprog{dvips}
-processor