18.3. Trim marks
\newcommand*{\trimmarkscolor}{\color{blue}}
\trimmarks
\tmarktl \tmarktr\tmarkbr \tmarkbl
\tmarktm \tmarkmr\tmarkbm \tmarkml
The
\trimmarks
macro isresponsible for displaying up to 8marks. The marksare defined
as zero-sized pictures which are placed strategically around the borders of the page.
The command
\trimmarks
places the pictures
\tmarktl
,
\tmarktr
,
\tmarkbl
,and
\tmarkbr
at the top left, top right, bottom right and bottom left corners of the page. The
pictures
\tmarktm
,
\tmarkmr
,
\tmarkbm
,and
\tmarkml
are placed at the top middle,
middle right, bottom middle and middle left of the edges of the page. All these
\tmark..
macros should expand to zero-sized pictures.
\trimmark
The declaration
\trimXmarks
uses
\trimmark
for the corner crosses. This is defined as
\newcommand{\trimmark}{%
\begin{picture}(0,0)
\setlength{\unitlength}{1cm}\thicklines
\put(-2,0){\line(1,0){4}}
\put(0,-2){\line(0,1){4}}
\end{picture}}
which produces a zero-sized picture of a 4cm cross. Then
\trimXmarks
is defined as:
\newcommand*{\trimXmarks}{%
\let\tmarktl\trimmark
\let\tmarktr\trimmark
\let\tmarkbr\trimmark
\let\tmarkbl\trimmark}
As an example, to draw short lines marking the half-height of the page, try this:
\renewcommand*{\tmarkml}{%
\begin{picture}(0,0)%
\unitlength 1mm
\thinlines
\put(-2,0){\line(-1,0){10}}
\end{picture}}
\renewcommand*{\tmarkmr}{%
\begin{picture}(0,0)%
\unitlength 1mm
\thinlines
\put(2,0){\line(1,0){10}}
\end{picture}}
Thin horizontal lines of length 10mm will be drawn at the middle left and middle right of
the page, starting 2mm outside the page boundary. This is what we do (now) by default
for all four middle parts.
\quarkmarks
\registrationColour{
mark
}
323
Convert pdf to text online no email - software SDK dll:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
Convert pdf to text online no email - software SDK dll:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
18. M
ISCELLANEOUS
Following the declaration
\quarkmarks
and trim marks will be in the style of Quark
Xpress registration marks.1 The marks will be typeset using
\registrationColour
.The
default definition is simply
\newcommand*{\RegistrationColour}[1]{#1}
but you can change that to, say, print the marks in particular color. See Figure 18.1.
18.4 S
HEET NUMBERING
One purpose of trim marksis to show aprinter where the stock should be trimmed. In this
application it can be useful to also note the sheet number on each page, where the sheet
number is 1for the first page and increases by 1 for each page thereafter. The sheet number
is independent of the page number.
sheetsequence
\thesheetsequence
The macro
\thesheetsequence
typesets the current sheet sequence number and is anal-
ogous to the
\thepage
macro.
lastsheet
lastpage
The counter
lastsheet
holds the number of sheets processed during the previous run
of LaTeX. Similarly, the counter
lastpage
holds the number of the last page processed
during the previous run. Note that the last page number isnot necessarily the same as the
last sheet number. For example:
In this document this is sheet 362 of 609 sheets, and page 324 of 571.
The previoussentence was the result of processing the following code
\textit{In this document this is
sheet \thesheetsequence\ of \thelastsheet\ sheets,
and page \thepage\ of \thelastpage.}
You may wish to use the sheet and/or page numbers as part of some trim marks. The
following will note the sheet numbers above the page.
\newcommand*{\trimseqpage}{%
\begin{picture}(0,0)
\unitlength 1mm
\put(0,2){\makebox(0,0)[b]{Sheet: \thesheetsequence\ of \thelastsheet}}
\end{picture}}
\let\tmarktm\trimseqpage
18.5 G
ATHERINGS OR SIGNATURES
Sometimespublishersrequest that they be supplied with atotalnumber of pages that meet
their planned gatherings.2 For instance agathering may consist of 8 leaves, and asthere are
1
The codeforthis was donated by William Adams.
2
There was a thread on
CTT
,pagenumber mod4? about this in 2008.
324
software SDK dll:RasterEdge.com General FAQs for Products
Q3: Why there's no license information in my it via the email which RasterEdge's online store sends powerful & profession imaging controls, PDF document, image
www.rasteredge.com
software SDK dll:RasterEdge Product License Agreement
is active, you may contact RasterEdge via email. permitted by applicable law, in no event shall powerful & profession imaging controls, PDF document, tiff
www.rasteredge.com
18.5. Gatherings or signatures
Hello,hereissometextwith-
outameaning. Thistextshould
show whataprintedtextwill
looklike atthisplace. If f you
readthistext, youwill getno
information. Really? Is there
noinformation? Isthereadif-
ference betweenthis text and
some nonsense like “Huardest
gefburn”? Kjift –not at all!
Ablindtextlikethisgivesyou
informationabouttheselected
font, howthe letters arewrit-
ten and an impression of f the
look. This textshouldcontain
alllettersof the alphabetand
itshould be writteninof f the
original language. Thereisno
need for special content, but
thelengthofwordsshouldmatch
thelanguage.
(a)\trimXmarks (default)
Hello,hereissometextwith-
outameaning. Thistextshould
showwhataprintedtextwill
look like at thisplace. If f you
readthistext, you will getno
information. Really? Is there
noinformation? Isthereadif-
ference between this text and
some nonsense like “Huardest
gefburn”? Kjift– not at all!
Ablindtextlikethisgivesyou
informationabouttheselected
font, how the lettersare writ-
ten andan impression of f the
look. Thistextshouldcontain
all letters ofthealphabetand
itshould be writteninof f the
original language. Thereisno
need for special content, but
thelengthofwordsshouldmatch
the language.
(b)\trimLmarks
Hello,hereissometextwith-
outameaning. Thistextshould
show whataprintedtextwill
looklike atthisplace. If f you
readthistext, youwill getno
information. Really? Is there
noinformation? Isthereadif-
ference betweenthis text and
some nonsense like “Huardest
gefburn”? Kjift –not at all!
Ablindtextlikethisgivesyou
informationabouttheselected
font, howthe letters arewrit-
ten and an impression of f the
look. This textshouldcontain
alllettersof the alphabetand
itshould be writteninof f the
original language. Thereisno
need for special content, but
thelengthofwordsshouldmatch
thelanguage.
(c)\trimFrame
trims-example May 30, 2013 12:10 Page 4
Hello,hereissometextwith-
outameaning. Thistextshould
showwhataprintedtextwill
look like at thisplace. If f you
readthistext, you will getno
information. Really? Is there
noinformation? Isthereadif-
ference between this text and
some nonsense like “Huardest
gefburn”? Kjift– not at all!
Ablindtextlikethisgivesyou
informationabouttheselected
font, how the lettersare writ-
ten andan impression of f the
look. Thistextshouldcontain
all letters ofthealphabetand
itshould be writteninof f the
original language. Thereisno
need for special content, but
thelengthofwordsshouldmatch
the language.
(d)\quarkmarks
Figure 18.1: The four trimmark types
325
software SDK dll:VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
C#.NET PDF file & pages edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET search text in PDF Convert Excel to PDF document free
www.rasteredge.com
software SDK dll:C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
or no border. Free online Excel to PDF converter without email. Quick integrate online C# source code into .NET class. C# Demo Code: Convert Excel to PDF in
www.rasteredge.com
18. M
ISCELLANEOUS
two pages to aleaf thisis equivalent to 16 pages. To meet this particular requirement there
must be a total of 8N leaves, or equivalently 16N pages, where N will be the number of
gatherings.
\leavespergathering{
num
}
The command
\leavespergathering
ensuresthat there will be exactly the right number
of pages output to make a complete set of gatherings of num leaves (2num pages) each
—if necessary blank pages will be output at the end to make up the correct tally. If num
is less than two (the default) then no additional pages will be output.
18.6 T
IME
\printtime \printtime*
\hmpunct\amname \pmname
The
\printtime
command
3
prints the time of day when the document is processed
using the 24 hour clock while
\printtime*
uses a 12 hour clock. For example, the effect
of the next piece of code is shown below.
This document was processed on: \today\ at \printtime\ (\printtime*).
This document was processed on: May 30, 2013 at 12:10 (12:10 pm).
The punctuation between the hours and minutesis
\hmpunct
whichdefaultsto acolon
(:). The macros
\amname
and
\pmnane
hold the abbreviations for ante meridiem and post
meridiem, respecitively; the defaults are ‘am’ and ‘pm’.
According to the Chicago Manual of Style [Chi93] there should be no punctuation be-
tween the hours and minutes inthe 24 hour system. For the 12hour systemit recommends
that small caps be used for the divisions of the day (e.g.,
A
.
M
. and
P
.
M
.) and also that the
American practice is to use a colon as the separator between hours and minutes whereas
the English practice is to use a period (known to the English as a ‘full stop’). I don’t know
what the traditions are in other orthographies.
The
\quarkmarks
declaration uses
\printtime
,so be careful if you change it.
Nicola Talbot’sdatetime package [Tal06] providesa much more comprehensive collec-
tion of styles for printing the time; also for dates.
18.7 P
AGE BREAKS BEFORE LISTS
Asentence or two may be used to introduce a list (e.g.,
itemize
)and it can be annoying
if there is a page break between the introductory words and the first item.
\noprelistbreak
Putting
\noprelistbreak
immediately before the
\begin{itemize}
should prevent
apage break. Ideally, there should be no blank lines between the end of the introduction
and the start of the list.
3
Ibased the codeon a similar macroin TeXforthe Impatient [AHK90].
326
software SDK dll:VB.NET Image: RasterEdge JBIG2 Codec Image Control for VB.NET
in PDF file can also be viewed and processed online through our VB.NET PDF web viewer. coding algorithm to encode images which are neither text or halftones
www.rasteredge.com
software SDK dll:C#: Frequently Asked Questions for Using XDoc.HTML5 Viewer for .
If you have additional questions or requests, please send email to support@rasteredge. com. The site configured in IIS has no permission to operate.
www.rasteredge.com
18.8. Changing counters
18.8 C
HANGING COUNTERS
This is effectively a bundling of thechngcntr package [Wil01e].
\newcounter{
ctr
}[
within
]
\thectr
In LaTeX a new counter called, say
ctr
, is created by the
\newcounter
command as
\newcounter{ctr}
. If the optional within argument is given, the counter
ctr
is re-
set to zero each time the counter called
within
is changed; the
within
counter must exist
before it is used as the optional argument. The command
\thectr
typesets the value of
the counter
ctr
. This is automatically defined for you by the
\newcounter
command to
typeset arabic numerals.
\counterwithin{
ctr
}{
within
}
\counterwithin*{
ctr
}{
within
}
The
\counterwithin
macro makes a ctr that has been initially defined by
\newcounter{ctr}
act asthough it had been defined by
\newcounter{ctr}[within]
.
It also redefines the
\thectr
command to be
\thewithin.\arabic{ctr}
. The starred
version of the command does nothing to the original definition of
\thectr
.
\counterwithout{
ctr
}{
within
}
\counterwithout*{
ctr
}{
within
}
The
\counterwithout
macro makes the
ctr
counter that has been initially defined by
\newcounter{ctr}[within]
act as though it had been defined by
\newcounter{ctr}
.
It also redefines the
\thectr
command to be
\arabic{ctr}
. The starred version of the
command does nothing to the original definition of
\thectr
.
Any number of
\counterwithin{ctr}{...}
and
\counterwithout{ctr}{...}
commands can be issued for a given counter
ctr
if you wish to toggle between the two
styles. The current value of
ctr
is unaffected by these commands. If you want to change
the value use
\setcounter
,and to change the typesetting style use
\renewcommand
on
\thectr
.
\letcountercounter{
counterA
}{
counterB
}
\unletcounter{
counterA
}
At times it is handy to ‘let’ one counter act as if it was a different counter. Say you have
two constructions, each with their own counter A and B, now you want them to cooperate,
counting in unison. This can be done using the
\letcountercounter
.
\letcountercounter{
counterA
}{
counterB
}\let
s(make the same) counterA to
counterB. The original of counterA is kept, such that you can unlet it later.
\unletcounter{
counterA
}
restores counterA to its un
\let
condition.
Thisfeature canbe quite handy. Say for instance you want figuresand tables to counter
within the same counter (say table), then we need each change to the
figure
counter to
actually act on the
table
counter.
\letcountercounter{figure}{table}
solves the
problem.
327
software SDK dll:C# Tiff Convert: How to Convert Dicom to Tiff Image File
in C# program, there would be no need for dcm"; String outputFilePath = @"C:\output.tif"; // Convert Dicom to You may directly copy and paste this PDF to
www.rasteredge.com
software SDK dll:RasterEdge Product License Options
Among all listed products on purchase page, Twain SDK has no Server License and only SDK To know more details or make an order, please contact us via email.
www.rasteredge.com
18. M
ISCELLANEOUS
18.9 N
EW NEW AND PROVIDE COMMANDS
\newloglike{
cmd
}{
string
}
\newloglike*{
cmd
}{
string
}
The class provides meansof creating new mathlog-like functions. For example you might
want to do
\newloglike{\Ei}{Ei}
if you are using the exponential integral function in your work. The starred version of the
command creates a function that takes limits (like the
\max
function).
The LaTeX kernel defines the
\providecommand
macro that acts like
\newcommand
if
the designated macro has not beendefined previously, otherwise it doesnothing. The class
adds to that limited repertoire.
\provideenvironment{
name
}[
numargs
][
optarg
]{
begindef
}{
enddef
}
\providelength{
cmd
}
\providecounter{
ctr
}[
within
]
\provideloglike{
cmd
}{
string
}
\provideloglike*{
cmd
}{
string
}
The macros
\provideenvironment
,
\providelength
and
\providecounter
take the
same arguments as their
\new...
counterparts. If the environment, length or counter has
not been defined then it is defined accordingly, otherwise the macros do nothing except
produce a warning message for information purposes.
The
\provideloglike
commands are for math log-like functions, but they do not
produce any warning messages.
18.10 C
HANGING MACROS
Commands are provided for extending simple macro definitions.
\addtodef{
macro
}{
prepend
}{
append
}
\addtoiargdef{
macro
}{
prepend
}{
append
}
The macro
\addtodef
inserts prepend at the start of the current definition of macro and
puts append at the end, where macro is the name of a macro (including the backslash)
whichtakes no arguments. The
\addtoiargdef
macro issimilar except that macro is the
name of a macro that takes one argument.
For example the following are two equivalent definitions of
\mymacro
:
\newcommand{\mymacro}[1]{#1 is a violinist in spite of being tone deaf}
and
\newcommand{\mymacro}[1]{#1 is a violinist}
\addtoiargdef{\mymacro}{}{ in spite of being tone deaf}
The
\addtoiargdef
(and
\addtodef
)commands can be applied several times to the
same macro. Revising the previous example we could have
\newcommand{\mymacro}[1]{#1 is a violinist}
\addtoiargdef{\mymacro}{Although somewhat elderly, }%
328
18.11. String arguments
{ in spite of being tone deaf}
\addtoiargdef{\mymacro}{}{ and a bagpiper}
which is equivalent to
\newcommand{\mymacro}[1]{%
Although somewhat elderly, #1 is a violinist
in spite of being tone deaf and a bagpiper}
The prepend and append argumentsmay include LaTeX code, as shown inthisextract
from the class code:
\addtoiargdef{\date}{}{%
\begingroup
\renewcommand{\thanks}[1]{}
\renewcommand{\thanksmark}[1]{}
\renewcommand{\thanksgap}[1]{}
\protected@xdef\thedate{#1}
\endgroup}
Note that in the case of
\addtoiargdef
an argument can also refer to the original argu-
ment of the macro.
\addtodef*{
macro
}{
prepend
}{
append
}
\addtoiargdef*{
macro
}{
prepend
}{
append
}
These starred versions are for use when the original macro was defined via
\newcommand*
. Using the starred versions is like using
\renewcommand*
and the un-
starred versions are like having used
\renewcommand
. It is the version (starred or un-
starred) of a sequence of
\addto...
commands that counts when determining whether
the equivalent
\renew...
is treated as starred or unstarred.
The
\addto...
macros cannot be used to delete any code from macro nor to add
anything except at the start and end. Also, in general, they cannot be used to change the
definition of amacro that takes an optional argument, or a starred macro.
\patchcommand{
macro
}{
start-code
}{
end-code
}
The
\patchcommand
is from the late Michael Downes’patchcmd package [Dow00]. It
inserts the start-code at the start of the current definitionof the macro macro, and inserts
end-code at the end of its current definition. The macro canhave zero to nine parameters.
If macro uses
\futurelet
(e.g., it is a starred command or takes an optional argument)
only start-code is useful — end-code must be empty otherwise things get messed up. If
macro has any delimited arguments then
\patchcommand
cannot be used.
18.11 S
TRING ARGUMENTS
In the code for the class I have sometimes used macro arguments that consist of a
‘string’, like the
*
arguments in the page layout macros (e.g.,
\settypeblocksize
), or
the
flushleft
,
center
and
flushright
strings for the
\makeheadposition
macro.
\nametest{
str1
}{
str2
}
\ifsamename
329
18. M
ISCELLANEOUS
The macro
\nametest
takes two strings as the arguments str1 and str2. It sets
\ifsamename true
if str1 is the same as str2, otherwise it sets
\ifsamename false
.
For the purposes of
\nametest
,a string is a sequence of characters which may include
spaces and may include the
\
backslash character; strings are equal if and only if their
character sequences are identical.
Typically, I have used it within macros for checking on argument values. For example:
\newcommand{\amacro}[1]{%
\nametest{#1}{green}
\ifsamename
%
code for green
\fi
\nametest{#1}{red}
\ifsamename
%
code for red
\fi
...
}
18.12 O
DD
/
EVEN PAGE CHECKING
It is difficult to check robustly if the current page is odd or even but the classdoes provide
arobust method based on writing out a label and then checking the page reference for the
label. This requires at least two LaTeX runs to stabilise. This has been extracted from the
originalchngpage package (which is no longer available). (The class code andchngpage
code is similar but not identical. There is a later package, changepage [Wil08a] which
containscode that is identical to the class.)
\checkoddpage
\ifoddpage
\strictpagecheck \lazypagecheck
The macro
\checkoddpage
sets
\ifoddpage
to
true
if the current page number is
odd, otherwise it sets it to
false
(the page number is even). The robust checking
method involves writing and reading labels, which is what is done after the command
\strictpagecheck
is issued; it may take more than one run before everything settles
down. The simple method is just to check the current page number which, because of TeX’s
asynchronous page breaking algorithm, may not correspond to the actual page number
where the
\checkoddpage
command was issued. The simple, but faster, page checking
method is used after the
\lazypagecheck
command is issued.
\cplabel
When strict page checking is used the labels consist of a number preceded by the value of
\cplabel
,whose default definition is
^_
(e.g., a label may consist of the characters
^_21
).
If this might clash with any of your labels, change
\cplabel
with
\renewcommand
,but
the definition of
\cplabel
must be constant for any given document.
330
18.13. Moving to another page
18.13 M
OVING TO ANOTHER PAGE
Standard LaTeX provides the
\newpage
,
\clearpage
and
\cleardoublepage
com-
mands for discontinuing the current page and starting a new one. The following is a
bundling of thenextpagepackage [Wil00c].
\needspace{
length
}
This macro decides if there is length space at the bottom of the current page. If there is, it
does nothing, otherwise it starts a new page. This is useful if length amount of material
is to be kept together on one page. The
\needspace
macro depends on penalties for
deciding what to do which means that the reserved space is an approximation. However,
except for the odd occasion, the macro gives adequate results.
\Needspace{
length
}
\Needspace*{
length
}
Like
\needspace
,the
\Needspace
macro checksif there islength space at the bottom of
the current page and if there is not it starts a new page. The command should only be used
between paragraphs; indeed, the first thing it does is to call
\par
.The
\Needspace
com-
mand checks for the actual space left on the page and is more exacting than
\needspace
.
If either
\needspace
or
\Needspace
produce a short page it will be ragged bot-
tom even if
\flushbottom
is in effect. With the starred
\Needspace*
version, short
pages will be flush bottom if
\flushbottom
is in effect and will be ragged bottom when
\raggedbottom
is in effect.
Generally speaking, use
\needspace
in preference to
\Needspace
unless it gives a
bad break or the pages must be flush bottom.
\movetoevenpage[
text
]
\cleartoevenpage[
text
]
The
\movetoevenpage
stops the current page and starts typesetting on the next even
numbered page. The
\clear...
version flushes out all floats before going to the next
even page. The optional text is put on the skipped page (if there is one).
\movetooddpage[
text
]
\cleartooddpage[
text
]
These macrosare similar to the
\...evenpage
ones except that they jump to the next odd
numbered page.
Alikely example for the optional text argument is
\cleartooddpage[\vspace*{\fill}THIS PAGE LEFT BLANK\vspace*{\fill}]
which will put ‘THIS PAGE LEFT BLANK’ in the centre of any potential skipped (empty)
even numbered page.
\cleartorecto \cleartoverso
331
18. M
ISCELLANEOUS
These are slightly simpler forms4 of
\cleartooddpage
and
\cleartoevenpage
. For
example, if you wanted the ToC to start on a verso page, like in The TeXbook [Knu84], then
do this:
\cleartoverso
\tableofcontents
18.14 N
UMBER FORMATTING
Several methods are provided for formatting numbers. Two classes of number represen-
tations are catered for. A ‘numeric number’ is typeset using arabic digits and a ‘named
number’ is typeset using words.
The argument to the number formatting macros is a ‘number’, essentially something
that resolves to a series of arabic digits. Typical arguments might be:
 Some digits, e.g.,
\ordinal{123} ->
123rd
 A macro expanding to digits, e.g.,
\def\temp{3}\ordinal{\temp} ->
3rd
 The value of acounter, e.g.,
\ordinal{\value{page}} ->
332nd
 The arabic representation of a counter, e.g.,
\ordinal{\thepage} ->
332nd
However, if the representation of a counter is not completely in arabicdigits, such
as
\thesection
which here prints as 18.14, it will produce odd errors or peculiar
results if it is used as the argument. For instance:
\ordinal{\thesection} ->
.1418th
18.14.1 Numeric numbers
\cardinal{
number
}
\fcardinal{
number
}
\fnumbersep
The macro
\fcardinal
prints its number argument formatted using
\fnumbersep
be-
tween each triple of digits. The default definition of
\fnumbersep
is:
\newcommand{\fnumbersep}{,}
Here are some examples:
\fcardinal{12} ->
12
\fcardinal{1234} ->
1,234
\fcardinal{1234567} ->
1,234,567
\renewcommand*{\fnumbersep}{\:}\fcardinal{12345678} ->
12345 678
\renewcommand*{\fnumbersep}{,\:}
The
\cardinal
macro is like
\fcardinal
except that there is no separation between
any of the digits.
\ordinal{
number
}
\fordinal{
number
}
\ordscript{
chars
}
The
\fordinal
macro typesets its number argument as a formatted ordinal, using
\fnumbersep
as the separator. The macro
\ordinal
is similar except that there is no
separation between any of the digits.
4
Perhaps more robust.
332
Documents you may be interested
Documents you may be interested