Is there a set of ready-to-use forms and macros for plain tex?












0















Here is a form that I have revised over the years. I also have one for right to left texts. After the form I have added one of the macro files listed at the top of the form:



% [FORM_PLAIN_[xetex].tex   

% This a form that I have created over the years. Users will want to make adjustments,
% especially to dimensions. Note in particular that pdfpageheight and pdfpagewidth
% as well as hsize, vsize and the PSTRICKS form (after bye) are given in inches.
% The reasom for this is because the paper that I use is
% "8.5 in x 11.0 in" ("letter"). Other measurements are in cm and points.

% That is the advantage of having a personally designed form
% sheet and macro files which can be easily modified and added to.
%
% Because this is a presentation form I have added explanations
% !! indicates that this is a dimension etc. that you should consider changing


%%%%%%%%%%%%%%%% XETEX INPUTS %%%%%%%%%%%%%

% These macro files are explained in more detail at the top of each file. Here I have
% a brief indication of the content.

input format_XETEX.mac
% spacing, special symbols ...
input unicode_latin.mac
% French and German accented letters
input macros.mac
% information boxes, special formats
input ancestors.mac
% abbreviations used in my genealogical texts !!
input additional.mac % printdate+ raggedleft (for right to left)
%
input petr_olsak.mac
% Petr Olsak's collection of pure Tex macros: tables, marginal notes,
% % ===> footnotes, see after bye for the commands
%
% ===> have to put [my_fonts.mac] AFTER [petr_olsak.mac] which redefines rm
input my_fonts.mac
% different fonts at various sizes; e.g bftwenty
% PSTRICKS is used for importing images
% there is a form after bye
% the shell file [photos2eps] (in the directory SHELL_FILES)
% will convert all your .jpg and .png files to .eps

% see [pstricks_examples.tex] for the use of these inputs
input pstricks % need for centring
input epsf % need for importing eps

input color % this is part of David Carlisle's "graph­ics-pln" package (available at CTAN)
%. it allows typesetting text in colour via definecolor textcolor and colorbox
% color can also be obtained via [petr_olsak.mac], section 8 and
% PSTRICKS
%%%%%%%%%%%%%%%% END XETEX INPUTS %%%%%%%%%%%%%

%%%%%%%%%%%%%%%% VARIOUS COMMANDS %%%%%%%%%%%%%

topglue 0pt
topskip 18pt

overfullrule=0pt
tracingoutput = 0 % file - minimum information ( =1 for full)
tracingonline = 0 % screen - minimum information ( =1 for full

%%%%%%%%%%%%%%%% END VARIOUS COMMANDS %%%%%%%%%%%%%

%%%%%%%%%%%%%%%%% DIMENSIONS %%%%%%%%%%%%%
pdfpageheight=11truein % !!
pdfpagewidth= 8.5truein %!!

vsize = 8.50 in %!!
{hsize = 5.94 in %!!

voffset = 0.5 truecm %!!
hoffset = 0.70truecm %!!

baselineskip = 14pt % default = 12pt

%%%%%%%%%%%%%%%%% END DIMENSIONS %%%%%%%%%%%%%

%%%%%%%%%%% FOOTER & HEADER %%%%%%%%%%%%%%%%%

% =======> 3 CHANGES TO MAKE <=========

nopagenumbers

% 2000 was chosen so that I will notice and change
% in final versions
pageno = 2000 % 3 CHANGES TO MAKE

% this footer puts a page number in bold at the bottom of each page, EXCEPT FIRST
footline = { % THE FOOTLINE MATERIAL IS IN ENCLOSED IN {}
ifnum pageno = 2000 % do nothing <== keep with false #
else
{centerline{bf folio}} % centerline closes here for page #
fi % this matches ifnum
}
%
% NO DATES HERE, ONLY IN TITLE
headline = {% THE FOOTLINE MATERIAL IS IN ENCLOSED IN {}
centerline{ % CAN NOT PUT CENTERLINE AFTER ELSE, FOULS UP!
ifnum pageno = 2000 % do nothing <== keep with false #
else
{bfthirteen +++++++++++}
fi % THIS MATCHES IFNUM
} %THIS MATCHS CENTERLINE
} % THIS MATCHES { WITH FOOTLINE

%%%%%%%%%%%%%%%%%%%% END FOOTER AND HEADER %%%%%%%%%%%%%%%%%%%%%
%
% %%%%%%%%%%%%%%%%%%%% TEXT STARTS % %%%%%%%%%%%%%%%%%%%%
%
{rm % !! 12.5pt I like a larger font, defined in [my_fonts.mac]
%
%
{verysmall . } % !! 0.1pt used to move text up via vskip -20ptnin !!
%
vskip -20ptnin % nin = noindent, see [format_XETEX.mac]
%
centerline{bftwenty ++} % defined in [my_fonts.mac]
%
mni % medskipnoindent see [format_XETEX.mac]
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%
% KEEP THIS ENDING!!! had when needed headers
vfilleject
%%
} % ends roman
par} % ends hsize
bye

%%%%%%%%%%%%%%% FORMS %%%%%%%%%%%%%%%%
%
% PSTRICKS FORM
centerline{epsfxsize = 6.5trueinepsfbox{*.eps}}
vskip 4 truept
centerline{}
%
vskip 0.7cmnin
%
% FOOTNOTES FORM: section 14 of [petr_olsak.mac]
% fnotemark{*.} next to the text
% fnotetext{*} place somewhere after location of fnotemark
% it may require two runs to complete

----------

% [format_XETEX.mac]

% Note, for example, that using deflb{char"007B} for left braces (instead of $($ )
% produces a size which corresponds to the font being used.
% The same philosopy is applied elsewhere in this list.


%%%%%%%%%%%% FIXED VERTICAL DISTANCES (increasing order)
% I do not bother with the glue as I change distances via vskip if not correct

defpni{parnoindent}
defpin{parindent}

% smallskip = 3pt; I want a little more
defsni{vskip 4trueptnoindent}
defsin{vskip 4trueptindent}

% medskip = 6pt; I want a little more
defmni{vskip 8 trueptnoindent}
defmin{vskip 8 trueptindent}

% bigskip is 12pt
defbni{vskip 12trueptnoindent}
defbin{vskip 12trueptindent}

defnin{noindent}

defcentreline{centerline} % Canadian spelling which I naturally tend to write

%%%%%%%%%%%% FIXED HORIZONTAL DISTANCES (increasing order)
%
defgl{hglue 1.0pt} % gl = GLUE , does not break
defth{hskip 1.5pt} % = approx thinspace GLUE
defthh{hskip 2.25pt} % between th and Th

% just like big and Big
defTh{hskip 3.0pt} % = jot
defTH{hskip 4.0pt}

% just like big and Big
defen{enspace} % hskip 5pt BREAKS
defEn{enspace} % hskip 6pt BREAKS
defEN{enspace} % hskip 7pt BREAKS

% conflicts with Hebrew qof, so use quad with Hebrew
% and comment out this next line
defq{quad} % hskip 10pt BREAKS
defqq{qquad} % hskip 20pt BREAKS

%%%%%%%%%%%% SLASHES %%%%%%%%%%%
defbsl{char"005Cgl}

deffsl{hskip 1.8pt/hskip 1.5pt} % was 2.5pt

%%%%%%%%%%%% SPECIAL INDENTS + SQUEEZE %%%%%%%%%%%
defbibl{mnihangindent=parindentnoindent}
defbib{mnihangindent=parindentnoindent}

% USAGE: squeeze{spaceskip = 1.5pt proud, shallow, ....}
defsqueeze{hbox to hsize }

%%%%%%%%%%%% UNDERBAR IN FILE TITLE %%%%%%%%%%%
defun{kern -0.85pt gl_gl }
defunl{kern -0.85pt gl_gl }

%%%%%%%%%%% TIRET + DOTS + GUILLEMETS + ANGLE BRACKETS %%%%%%%%%%
deftiret{Th--Th}

defdots{th{rmfourteen ...}th} % OK DO NOT PUT A PERIOD

deflgui{{rmsixteenchar"00ABkern -1pt}} % ««
defrgui{{gl rmsixteenchar"00BB}} % »»

def<{gl{rmsixteenchar"003Cgl}} % <
def>{{glrmsixteenchar"003E}gl} % >

%%%%%%%%%%%% BRACES two choices %%%%%%%%%%%
deflb{char"007B} % left braces
deflbr{char"007B} % left braces

defrb{char"007D}% right braces
defrbr{char"007D } % right braces

%%%%%%%%%%% BRACKETS + PARENTHESIS Use inside italics %%%%%%%%%%

def[{{rm char"005Bgl}} % [ Use inside italics
def]{{rm gl char"005D}} % ] Use inside italics
def({{rm char"0028gl}} % [ Use inside italics
def){{rm gl char"0029}}

%%%%%%%%%%% QUOTATION MARKS %%%%%%%%%%
% eloquent quotations
deflq{char"201Ckern -0.1pt}
defrq{char"201D} % NEEDS CLOSING

def"{char"0022} % plain quotation

%%%%%%%%%%% SEPARATING LINES %%%%%%%%%%
% modify according to teste

deflinea{nincenterline{vrule height 2.0pt width 1.5truein depth 0 pt}}
deflineb{nincenterline{vrule height 1.0pt width 1.5truein depth 0 pt}}

deflineA{nincenterline{vrule height 2.0pt width 2.5truein depth 0 pt}}
deflineAa{nincenterline{vrule height 2.5pt width 4.3truein depth 0pt}}

deflineAA{nincenterline{vrule height 3.2pt width 5.5truein depth 0pt}}
%
% next size up would be lineaaa etc

%%%%%%%%%%%%% SPECIALIZED DEFINITIONS, INTRODUCED AS NEEDED %%%%%
% I used many of these in my genealogical books to indicate various sources etc.
% msamA, msbmBBBB and cmsyAA are defined in [my_fonts.mac]

defdvd{hglue 1.0pt$^{hbox{boldmedsmall DVD}}$hglue 1.0pt}
defDVD{hglue 1.0pt$^{hbox{boldmedsmall DVD}}$hglue 1.0pt}
defhtml{kern 1.0truept{raise 3.0pt hbox{bfnine HTML}}}
defHTML{kern 1.0truept{raise 3.0pt hbox{bfnine HTML}}}
defcopyright{char"00A9}
defpdf{raise 4pthbox{boldmedsmall PDF}} % can not put } in case there is a period after.
defcopyright{char"00A9}
defeuro{{char"20AC}}
defpilcrow{{char"00B6}}
defstar{raise 3.5pt hbox{glmsamA char70}} ----------
defweb{gl{msbmBBBBchar121}hfill}
defsquare{thraise 3.7pthbox{msamAaaachar4}}
deftilda{{cmsyAA char24}}
%
% a separating | I use | as command, since and | are on same key
% used for identifying numbers in genealogy, e.g. {tt 122|1}
def|{thraise 1.5pt hbox{cmsyAachar 15}th}
%
% I use club to indicated a place in the text where changes are needed
defclub{raise 3.5pt hbox{gl$clubsuit$}}

%%%%%%%%%%%% ARROWS %%%%%%%%%%%%
% n.b. the names of the arrows are just: hackd etc, without a for arrow
%
% these are with hackbold
defhackD{hbox{hackboldBB char"21A6}hbox to 10truept{}}% |--->
defhackE{hbox{hackboldBB char"21E2}hbox to 10truept{}} % --->
defhackF{hbox{hackboldBB char"2192}hbox to 10truept{}} % ==>

% these are regular hack for smaller, lighter arrows
% 21DA <-- triple line 21DB --> triple line
defhackd{hbox{hackseventeen char"21A6}hbox to 10truept{}} % |-->
defhacke{hbox{hackseventeen char"21E2}hbox to 10truept{}} % -->
defhackf{hbox{hackseventeen char"2192}hbox to 10truept{}} % ==>

% libertine 21D0: <= no opposite of 21A6
% libertine 2190 <---- single line
%
deflibertineEA{lower 1pt hbox{rmfifteen char"21A6}kern -1.5pt{}} % same as above |--->
deflibertineEAA{lower 1pt hbox{rmeighteen char"21A6}kern -1.5pt{}} % same as above |--->
deflibertineEAAA{lower 1pt hbox{rmtwenty char"21A6}kern -1.5pt{}} % same as above |--->

% right facing
deflibertineEBR{lower 1pt hbox{rmfifteen char"21D2}kern -1.5pt{}} % ==>
deflibertineEBBR{lower 1pt hbox{rmeighteen char"21D2}kern -1.5pt{}} % ==>
deflibertineEBBBR{lower 1pt hbox{rmtwenty char"21D2}kern -1.5pt{}} % ==>
% left facing
deflibertineEBL{lower 1pt hbox{rmfifteen char"21D0}kern -1.5pt{}} % <==
deflibertineEBBL{lower 1pt hbox{rmeighteen char"21D0}kern -1.5pt{}} % <==
deflibertineEBBBL{lower 1pt hbox{rmtwenty char"21D0}kern -1.5pt{}} % <==

% These are long, double and slanted arrows set in cmsy
% long + double arrows
defLRA{$Longrightarrow$} % SEE REGULAR DOUBLE ARROWS BELOW
defLLA{$Longleftarrow$}
defEWAA{hbox{cmsyAAAA char 44}hbox to 10truept{}} % DOUBLE ARROW, BOTH WAYs

% arrows in SE, SW, NW , NE
defSEA{lower 5truepthbox{cmsyAAAA char38}}
defSWA{lower 5truepthbox{cmsyAAAA char 46}hbox to 10truept{}}
%
defNWA{lower 5truepthbox{cmsyAAAA char 45hbox to 10truept{}}}
%
defNEA{lower 5truepthbox{cmsyAAAA char 37hbox to 10truept{}}}
%
% arrows in E, S, W , N 10 to big for EA
defEA{hbox{cmsyAAAA char 33}hbox to 5truept{}}
%
defSA{hbox{cmsyAAAA char 35}hbox to 10truept{}}
%
defWA{hbox{cmsyAAAA char 32}hbox to 10truept{}}
%
defNA{hbox{cmsyAAAA char 34}hbox to 10truept{}}

% double arrows in E, S, W , N----------
%
defEAA{hbox{cmsyAAAA char 41}hbox to 10truept{}}
%
defSAA{hbox{cmsyAAAA char 43hbox to 10truept{}}}
%
defWAA{hbox{cmsyAAAA char 40hbox to 10truept{}}}
%
defNAA{hbox{cmsyAAAA char 42hbox to 10truept{}}}

%%%%%%%%%% TRIG DEFINITIONS %%%%%%%%%%
% the following definition allows me to fix the R inside $ $; note hbox{ }
defR{hbox{rm R}} % leave out '' ( '' because I already have.
%
% I took out sin because it interfered with sin = smallnoindent----------
defcos{hbox{rm cos}}
deftan{hbox{rm tan}}
defcsc{hbox{rm csc}}
defsec{hbox{rm sec}}
defcot{hbox{rm cot}}
defln{hbox{rm ln}}
deflog{hbox{rm log}}
deflim{hbox{rm lim}}

%%%%%%%%%% END %%%%%%%%%%









share|improve this question




















  • 1





    I don't see a question here ...

    – Joseph Wright
    Jan 23 at 18:35






  • 4





    Please note that this a Q&A forum. Your post doesn't contain a question at all. Also note that even if you turned the reviewing into a question, this would be off-topic here, as we don't do complete code review (though some of us might do this professionally), but only tackle specific issues a user faces. Also some users are reluctant to open external links.

    – Skillmon
    Jan 23 at 18:40








  • 4





    You appear to have done a lot of work that I think would be valuable to others. Perhaps just post to CTAN and see what responses (complaints) you get, provided you are prepared to respond to your users.

    – Peter Wilson
    Jan 23 at 18:49






  • 2





    note your statement here and in the first pdf you link to that xetex directly produces pdf is a bit misleading, xetex produces dvi (actually xdv) output, that is converted to pdf using the xdvipdfmx dvi driver. It is an extension of tex not an extension of pdftex.

    – David Carlisle
    Jan 23 at 20:28






  • 1





    @morrisroger If you want to reply to specific comments, you can just start your message with @ followed by the username. This has the advantage, that the user will be notified about your reply.

    – samcarter
    2 days ago
















0















Here is a form that I have revised over the years. I also have one for right to left texts. After the form I have added one of the macro files listed at the top of the form:



% [FORM_PLAIN_[xetex].tex   

% This a form that I have created over the years. Users will want to make adjustments,
% especially to dimensions. Note in particular that pdfpageheight and pdfpagewidth
% as well as hsize, vsize and the PSTRICKS form (after bye) are given in inches.
% The reasom for this is because the paper that I use is
% "8.5 in x 11.0 in" ("letter"). Other measurements are in cm and points.

% That is the advantage of having a personally designed form
% sheet and macro files which can be easily modified and added to.
%
% Because this is a presentation form I have added explanations
% !! indicates that this is a dimension etc. that you should consider changing


%%%%%%%%%%%%%%%% XETEX INPUTS %%%%%%%%%%%%%

% These macro files are explained in more detail at the top of each file. Here I have
% a brief indication of the content.

input format_XETEX.mac
% spacing, special symbols ...
input unicode_latin.mac
% French and German accented letters
input macros.mac
% information boxes, special formats
input ancestors.mac
% abbreviations used in my genealogical texts !!
input additional.mac % printdate+ raggedleft (for right to left)
%
input petr_olsak.mac
% Petr Olsak's collection of pure Tex macros: tables, marginal notes,
% % ===> footnotes, see after bye for the commands
%
% ===> have to put [my_fonts.mac] AFTER [petr_olsak.mac] which redefines rm
input my_fonts.mac
% different fonts at various sizes; e.g bftwenty
% PSTRICKS is used for importing images
% there is a form after bye
% the shell file [photos2eps] (in the directory SHELL_FILES)
% will convert all your .jpg and .png files to .eps

% see [pstricks_examples.tex] for the use of these inputs
input pstricks % need for centring
input epsf % need for importing eps

input color % this is part of David Carlisle's "graph­ics-pln" package (available at CTAN)
%. it allows typesetting text in colour via definecolor textcolor and colorbox
% color can also be obtained via [petr_olsak.mac], section 8 and
% PSTRICKS
%%%%%%%%%%%%%%%% END XETEX INPUTS %%%%%%%%%%%%%

%%%%%%%%%%%%%%%% VARIOUS COMMANDS %%%%%%%%%%%%%

topglue 0pt
topskip 18pt

overfullrule=0pt
tracingoutput = 0 % file - minimum information ( =1 for full)
tracingonline = 0 % screen - minimum information ( =1 for full

%%%%%%%%%%%%%%%% END VARIOUS COMMANDS %%%%%%%%%%%%%

%%%%%%%%%%%%%%%%% DIMENSIONS %%%%%%%%%%%%%
pdfpageheight=11truein % !!
pdfpagewidth= 8.5truein %!!

vsize = 8.50 in %!!
{hsize = 5.94 in %!!

voffset = 0.5 truecm %!!
hoffset = 0.70truecm %!!

baselineskip = 14pt % default = 12pt

%%%%%%%%%%%%%%%%% END DIMENSIONS %%%%%%%%%%%%%

%%%%%%%%%%% FOOTER & HEADER %%%%%%%%%%%%%%%%%

% =======> 3 CHANGES TO MAKE <=========

nopagenumbers

% 2000 was chosen so that I will notice and change
% in final versions
pageno = 2000 % 3 CHANGES TO MAKE

% this footer puts a page number in bold at the bottom of each page, EXCEPT FIRST
footline = { % THE FOOTLINE MATERIAL IS IN ENCLOSED IN {}
ifnum pageno = 2000 % do nothing <== keep with false #
else
{centerline{bf folio}} % centerline closes here for page #
fi % this matches ifnum
}
%
% NO DATES HERE, ONLY IN TITLE
headline = {% THE FOOTLINE MATERIAL IS IN ENCLOSED IN {}
centerline{ % CAN NOT PUT CENTERLINE AFTER ELSE, FOULS UP!
ifnum pageno = 2000 % do nothing <== keep with false #
else
{bfthirteen +++++++++++}
fi % THIS MATCHES IFNUM
} %THIS MATCHS CENTERLINE
} % THIS MATCHES { WITH FOOTLINE

%%%%%%%%%%%%%%%%%%%% END FOOTER AND HEADER %%%%%%%%%%%%%%%%%%%%%
%
% %%%%%%%%%%%%%%%%%%%% TEXT STARTS % %%%%%%%%%%%%%%%%%%%%
%
{rm % !! 12.5pt I like a larger font, defined in [my_fonts.mac]
%
%
{verysmall . } % !! 0.1pt used to move text up via vskip -20ptnin !!
%
vskip -20ptnin % nin = noindent, see [format_XETEX.mac]
%
centerline{bftwenty ++} % defined in [my_fonts.mac]
%
mni % medskipnoindent see [format_XETEX.mac]
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%
% KEEP THIS ENDING!!! had when needed headers
vfilleject
%%
} % ends roman
par} % ends hsize
bye

%%%%%%%%%%%%%%% FORMS %%%%%%%%%%%%%%%%
%
% PSTRICKS FORM
centerline{epsfxsize = 6.5trueinepsfbox{*.eps}}
vskip 4 truept
centerline{}
%
vskip 0.7cmnin
%
% FOOTNOTES FORM: section 14 of [petr_olsak.mac]
% fnotemark{*.} next to the text
% fnotetext{*} place somewhere after location of fnotemark
% it may require two runs to complete

----------

% [format_XETEX.mac]

% Note, for example, that using deflb{char"007B} for left braces (instead of $($ )
% produces a size which corresponds to the font being used.
% The same philosopy is applied elsewhere in this list.


%%%%%%%%%%%% FIXED VERTICAL DISTANCES (increasing order)
% I do not bother with the glue as I change distances via vskip if not correct

defpni{parnoindent}
defpin{parindent}

% smallskip = 3pt; I want a little more
defsni{vskip 4trueptnoindent}
defsin{vskip 4trueptindent}

% medskip = 6pt; I want a little more
defmni{vskip 8 trueptnoindent}
defmin{vskip 8 trueptindent}

% bigskip is 12pt
defbni{vskip 12trueptnoindent}
defbin{vskip 12trueptindent}

defnin{noindent}

defcentreline{centerline} % Canadian spelling which I naturally tend to write

%%%%%%%%%%%% FIXED HORIZONTAL DISTANCES (increasing order)
%
defgl{hglue 1.0pt} % gl = GLUE , does not break
defth{hskip 1.5pt} % = approx thinspace GLUE
defthh{hskip 2.25pt} % between th and Th

% just like big and Big
defTh{hskip 3.0pt} % = jot
defTH{hskip 4.0pt}

% just like big and Big
defen{enspace} % hskip 5pt BREAKS
defEn{enspace} % hskip 6pt BREAKS
defEN{enspace} % hskip 7pt BREAKS

% conflicts with Hebrew qof, so use quad with Hebrew
% and comment out this next line
defq{quad} % hskip 10pt BREAKS
defqq{qquad} % hskip 20pt BREAKS

%%%%%%%%%%%% SLASHES %%%%%%%%%%%
defbsl{char"005Cgl}

deffsl{hskip 1.8pt/hskip 1.5pt} % was 2.5pt

%%%%%%%%%%%% SPECIAL INDENTS + SQUEEZE %%%%%%%%%%%
defbibl{mnihangindent=parindentnoindent}
defbib{mnihangindent=parindentnoindent}

% USAGE: squeeze{spaceskip = 1.5pt proud, shallow, ....}
defsqueeze{hbox to hsize }

%%%%%%%%%%%% UNDERBAR IN FILE TITLE %%%%%%%%%%%
defun{kern -0.85pt gl_gl }
defunl{kern -0.85pt gl_gl }

%%%%%%%%%%% TIRET + DOTS + GUILLEMETS + ANGLE BRACKETS %%%%%%%%%%
deftiret{Th--Th}

defdots{th{rmfourteen ...}th} % OK DO NOT PUT A PERIOD

deflgui{{rmsixteenchar"00ABkern -1pt}} % ««
defrgui{{gl rmsixteenchar"00BB}} % »»

def<{gl{rmsixteenchar"003Cgl}} % <
def>{{glrmsixteenchar"003E}gl} % >

%%%%%%%%%%%% BRACES two choices %%%%%%%%%%%
deflb{char"007B} % left braces
deflbr{char"007B} % left braces

defrb{char"007D}% right braces
defrbr{char"007D } % right braces

%%%%%%%%%%% BRACKETS + PARENTHESIS Use inside italics %%%%%%%%%%

def[{{rm char"005Bgl}} % [ Use inside italics
def]{{rm gl char"005D}} % ] Use inside italics
def({{rm char"0028gl}} % [ Use inside italics
def){{rm gl char"0029}}

%%%%%%%%%%% QUOTATION MARKS %%%%%%%%%%
% eloquent quotations
deflq{char"201Ckern -0.1pt}
defrq{char"201D} % NEEDS CLOSING

def"{char"0022} % plain quotation

%%%%%%%%%%% SEPARATING LINES %%%%%%%%%%
% modify according to teste

deflinea{nincenterline{vrule height 2.0pt width 1.5truein depth 0 pt}}
deflineb{nincenterline{vrule height 1.0pt width 1.5truein depth 0 pt}}

deflineA{nincenterline{vrule height 2.0pt width 2.5truein depth 0 pt}}
deflineAa{nincenterline{vrule height 2.5pt width 4.3truein depth 0pt}}

deflineAA{nincenterline{vrule height 3.2pt width 5.5truein depth 0pt}}
%
% next size up would be lineaaa etc

%%%%%%%%%%%%% SPECIALIZED DEFINITIONS, INTRODUCED AS NEEDED %%%%%
% I used many of these in my genealogical books to indicate various sources etc.
% msamA, msbmBBBB and cmsyAA are defined in [my_fonts.mac]

defdvd{hglue 1.0pt$^{hbox{boldmedsmall DVD}}$hglue 1.0pt}
defDVD{hglue 1.0pt$^{hbox{boldmedsmall DVD}}$hglue 1.0pt}
defhtml{kern 1.0truept{raise 3.0pt hbox{bfnine HTML}}}
defHTML{kern 1.0truept{raise 3.0pt hbox{bfnine HTML}}}
defcopyright{char"00A9}
defpdf{raise 4pthbox{boldmedsmall PDF}} % can not put } in case there is a period after.
defcopyright{char"00A9}
defeuro{{char"20AC}}
defpilcrow{{char"00B6}}
defstar{raise 3.5pt hbox{glmsamA char70}} ----------
defweb{gl{msbmBBBBchar121}hfill}
defsquare{thraise 3.7pthbox{msamAaaachar4}}
deftilda{{cmsyAA char24}}
%
% a separating | I use | as command, since and | are on same key
% used for identifying numbers in genealogy, e.g. {tt 122|1}
def|{thraise 1.5pt hbox{cmsyAachar 15}th}
%
% I use club to indicated a place in the text where changes are needed
defclub{raise 3.5pt hbox{gl$clubsuit$}}

%%%%%%%%%%%% ARROWS %%%%%%%%%%%%
% n.b. the names of the arrows are just: hackd etc, without a for arrow
%
% these are with hackbold
defhackD{hbox{hackboldBB char"21A6}hbox to 10truept{}}% |--->
defhackE{hbox{hackboldBB char"21E2}hbox to 10truept{}} % --->
defhackF{hbox{hackboldBB char"2192}hbox to 10truept{}} % ==>

% these are regular hack for smaller, lighter arrows
% 21DA <-- triple line 21DB --> triple line
defhackd{hbox{hackseventeen char"21A6}hbox to 10truept{}} % |-->
defhacke{hbox{hackseventeen char"21E2}hbox to 10truept{}} % -->
defhackf{hbox{hackseventeen char"2192}hbox to 10truept{}} % ==>

% libertine 21D0: <= no opposite of 21A6
% libertine 2190 <---- single line
%
deflibertineEA{lower 1pt hbox{rmfifteen char"21A6}kern -1.5pt{}} % same as above |--->
deflibertineEAA{lower 1pt hbox{rmeighteen char"21A6}kern -1.5pt{}} % same as above |--->
deflibertineEAAA{lower 1pt hbox{rmtwenty char"21A6}kern -1.5pt{}} % same as above |--->

% right facing
deflibertineEBR{lower 1pt hbox{rmfifteen char"21D2}kern -1.5pt{}} % ==>
deflibertineEBBR{lower 1pt hbox{rmeighteen char"21D2}kern -1.5pt{}} % ==>
deflibertineEBBBR{lower 1pt hbox{rmtwenty char"21D2}kern -1.5pt{}} % ==>
% left facing
deflibertineEBL{lower 1pt hbox{rmfifteen char"21D0}kern -1.5pt{}} % <==
deflibertineEBBL{lower 1pt hbox{rmeighteen char"21D0}kern -1.5pt{}} % <==
deflibertineEBBBL{lower 1pt hbox{rmtwenty char"21D0}kern -1.5pt{}} % <==

% These are long, double and slanted arrows set in cmsy
% long + double arrows
defLRA{$Longrightarrow$} % SEE REGULAR DOUBLE ARROWS BELOW
defLLA{$Longleftarrow$}
defEWAA{hbox{cmsyAAAA char 44}hbox to 10truept{}} % DOUBLE ARROW, BOTH WAYs

% arrows in SE, SW, NW , NE
defSEA{lower 5truepthbox{cmsyAAAA char38}}
defSWA{lower 5truepthbox{cmsyAAAA char 46}hbox to 10truept{}}
%
defNWA{lower 5truepthbox{cmsyAAAA char 45hbox to 10truept{}}}
%
defNEA{lower 5truepthbox{cmsyAAAA char 37hbox to 10truept{}}}
%
% arrows in E, S, W , N 10 to big for EA
defEA{hbox{cmsyAAAA char 33}hbox to 5truept{}}
%
defSA{hbox{cmsyAAAA char 35}hbox to 10truept{}}
%
defWA{hbox{cmsyAAAA char 32}hbox to 10truept{}}
%
defNA{hbox{cmsyAAAA char 34}hbox to 10truept{}}

% double arrows in E, S, W , N----------
%
defEAA{hbox{cmsyAAAA char 41}hbox to 10truept{}}
%
defSAA{hbox{cmsyAAAA char 43hbox to 10truept{}}}
%
defWAA{hbox{cmsyAAAA char 40hbox to 10truept{}}}
%
defNAA{hbox{cmsyAAAA char 42hbox to 10truept{}}}

%%%%%%%%%% TRIG DEFINITIONS %%%%%%%%%%
% the following definition allows me to fix the R inside $ $; note hbox{ }
defR{hbox{rm R}} % leave out '' ( '' because I already have.
%
% I took out sin because it interfered with sin = smallnoindent----------
defcos{hbox{rm cos}}
deftan{hbox{rm tan}}
defcsc{hbox{rm csc}}
defsec{hbox{rm sec}}
defcot{hbox{rm cot}}
defln{hbox{rm ln}}
deflog{hbox{rm log}}
deflim{hbox{rm lim}}

%%%%%%%%%% END %%%%%%%%%%









share|improve this question




















  • 1





    I don't see a question here ...

    – Joseph Wright
    Jan 23 at 18:35






  • 4





    Please note that this a Q&A forum. Your post doesn't contain a question at all. Also note that even if you turned the reviewing into a question, this would be off-topic here, as we don't do complete code review (though some of us might do this professionally), but only tackle specific issues a user faces. Also some users are reluctant to open external links.

    – Skillmon
    Jan 23 at 18:40








  • 4





    You appear to have done a lot of work that I think would be valuable to others. Perhaps just post to CTAN and see what responses (complaints) you get, provided you are prepared to respond to your users.

    – Peter Wilson
    Jan 23 at 18:49






  • 2





    note your statement here and in the first pdf you link to that xetex directly produces pdf is a bit misleading, xetex produces dvi (actually xdv) output, that is converted to pdf using the xdvipdfmx dvi driver. It is an extension of tex not an extension of pdftex.

    – David Carlisle
    Jan 23 at 20:28






  • 1





    @morrisroger If you want to reply to specific comments, you can just start your message with @ followed by the username. This has the advantage, that the user will be notified about your reply.

    – samcarter
    2 days ago














0












0








0








Here is a form that I have revised over the years. I also have one for right to left texts. After the form I have added one of the macro files listed at the top of the form:



% [FORM_PLAIN_[xetex].tex   

% This a form that I have created over the years. Users will want to make adjustments,
% especially to dimensions. Note in particular that pdfpageheight and pdfpagewidth
% as well as hsize, vsize and the PSTRICKS form (after bye) are given in inches.
% The reasom for this is because the paper that I use is
% "8.5 in x 11.0 in" ("letter"). Other measurements are in cm and points.

% That is the advantage of having a personally designed form
% sheet and macro files which can be easily modified and added to.
%
% Because this is a presentation form I have added explanations
% !! indicates that this is a dimension etc. that you should consider changing


%%%%%%%%%%%%%%%% XETEX INPUTS %%%%%%%%%%%%%

% These macro files are explained in more detail at the top of each file. Here I have
% a brief indication of the content.

input format_XETEX.mac
% spacing, special symbols ...
input unicode_latin.mac
% French and German accented letters
input macros.mac
% information boxes, special formats
input ancestors.mac
% abbreviations used in my genealogical texts !!
input additional.mac % printdate+ raggedleft (for right to left)
%
input petr_olsak.mac
% Petr Olsak's collection of pure Tex macros: tables, marginal notes,
% % ===> footnotes, see after bye for the commands
%
% ===> have to put [my_fonts.mac] AFTER [petr_olsak.mac] which redefines rm
input my_fonts.mac
% different fonts at various sizes; e.g bftwenty
% PSTRICKS is used for importing images
% there is a form after bye
% the shell file [photos2eps] (in the directory SHELL_FILES)
% will convert all your .jpg and .png files to .eps

% see [pstricks_examples.tex] for the use of these inputs
input pstricks % need for centring
input epsf % need for importing eps

input color % this is part of David Carlisle's "graph­ics-pln" package (available at CTAN)
%. it allows typesetting text in colour via definecolor textcolor and colorbox
% color can also be obtained via [petr_olsak.mac], section 8 and
% PSTRICKS
%%%%%%%%%%%%%%%% END XETEX INPUTS %%%%%%%%%%%%%

%%%%%%%%%%%%%%%% VARIOUS COMMANDS %%%%%%%%%%%%%

topglue 0pt
topskip 18pt

overfullrule=0pt
tracingoutput = 0 % file - minimum information ( =1 for full)
tracingonline = 0 % screen - minimum information ( =1 for full

%%%%%%%%%%%%%%%% END VARIOUS COMMANDS %%%%%%%%%%%%%

%%%%%%%%%%%%%%%%% DIMENSIONS %%%%%%%%%%%%%
pdfpageheight=11truein % !!
pdfpagewidth= 8.5truein %!!

vsize = 8.50 in %!!
{hsize = 5.94 in %!!

voffset = 0.5 truecm %!!
hoffset = 0.70truecm %!!

baselineskip = 14pt % default = 12pt

%%%%%%%%%%%%%%%%% END DIMENSIONS %%%%%%%%%%%%%

%%%%%%%%%%% FOOTER & HEADER %%%%%%%%%%%%%%%%%

% =======> 3 CHANGES TO MAKE <=========

nopagenumbers

% 2000 was chosen so that I will notice and change
% in final versions
pageno = 2000 % 3 CHANGES TO MAKE

% this footer puts a page number in bold at the bottom of each page, EXCEPT FIRST
footline = { % THE FOOTLINE MATERIAL IS IN ENCLOSED IN {}
ifnum pageno = 2000 % do nothing <== keep with false #
else
{centerline{bf folio}} % centerline closes here for page #
fi % this matches ifnum
}
%
% NO DATES HERE, ONLY IN TITLE
headline = {% THE FOOTLINE MATERIAL IS IN ENCLOSED IN {}
centerline{ % CAN NOT PUT CENTERLINE AFTER ELSE, FOULS UP!
ifnum pageno = 2000 % do nothing <== keep with false #
else
{bfthirteen +++++++++++}
fi % THIS MATCHES IFNUM
} %THIS MATCHS CENTERLINE
} % THIS MATCHES { WITH FOOTLINE

%%%%%%%%%%%%%%%%%%%% END FOOTER AND HEADER %%%%%%%%%%%%%%%%%%%%%
%
% %%%%%%%%%%%%%%%%%%%% TEXT STARTS % %%%%%%%%%%%%%%%%%%%%
%
{rm % !! 12.5pt I like a larger font, defined in [my_fonts.mac]
%
%
{verysmall . } % !! 0.1pt used to move text up via vskip -20ptnin !!
%
vskip -20ptnin % nin = noindent, see [format_XETEX.mac]
%
centerline{bftwenty ++} % defined in [my_fonts.mac]
%
mni % medskipnoindent see [format_XETEX.mac]
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%
% KEEP THIS ENDING!!! had when needed headers
vfilleject
%%
} % ends roman
par} % ends hsize
bye

%%%%%%%%%%%%%%% FORMS %%%%%%%%%%%%%%%%
%
% PSTRICKS FORM
centerline{epsfxsize = 6.5trueinepsfbox{*.eps}}
vskip 4 truept
centerline{}
%
vskip 0.7cmnin
%
% FOOTNOTES FORM: section 14 of [petr_olsak.mac]
% fnotemark{*.} next to the text
% fnotetext{*} place somewhere after location of fnotemark
% it may require two runs to complete

----------

% [format_XETEX.mac]

% Note, for example, that using deflb{char"007B} for left braces (instead of $($ )
% produces a size which corresponds to the font being used.
% The same philosopy is applied elsewhere in this list.


%%%%%%%%%%%% FIXED VERTICAL DISTANCES (increasing order)
% I do not bother with the glue as I change distances via vskip if not correct

defpni{parnoindent}
defpin{parindent}

% smallskip = 3pt; I want a little more
defsni{vskip 4trueptnoindent}
defsin{vskip 4trueptindent}

% medskip = 6pt; I want a little more
defmni{vskip 8 trueptnoindent}
defmin{vskip 8 trueptindent}

% bigskip is 12pt
defbni{vskip 12trueptnoindent}
defbin{vskip 12trueptindent}

defnin{noindent}

defcentreline{centerline} % Canadian spelling which I naturally tend to write

%%%%%%%%%%%% FIXED HORIZONTAL DISTANCES (increasing order)
%
defgl{hglue 1.0pt} % gl = GLUE , does not break
defth{hskip 1.5pt} % = approx thinspace GLUE
defthh{hskip 2.25pt} % between th and Th

% just like big and Big
defTh{hskip 3.0pt} % = jot
defTH{hskip 4.0pt}

% just like big and Big
defen{enspace} % hskip 5pt BREAKS
defEn{enspace} % hskip 6pt BREAKS
defEN{enspace} % hskip 7pt BREAKS

% conflicts with Hebrew qof, so use quad with Hebrew
% and comment out this next line
defq{quad} % hskip 10pt BREAKS
defqq{qquad} % hskip 20pt BREAKS

%%%%%%%%%%%% SLASHES %%%%%%%%%%%
defbsl{char"005Cgl}

deffsl{hskip 1.8pt/hskip 1.5pt} % was 2.5pt

%%%%%%%%%%%% SPECIAL INDENTS + SQUEEZE %%%%%%%%%%%
defbibl{mnihangindent=parindentnoindent}
defbib{mnihangindent=parindentnoindent}

% USAGE: squeeze{spaceskip = 1.5pt proud, shallow, ....}
defsqueeze{hbox to hsize }

%%%%%%%%%%%% UNDERBAR IN FILE TITLE %%%%%%%%%%%
defun{kern -0.85pt gl_gl }
defunl{kern -0.85pt gl_gl }

%%%%%%%%%%% TIRET + DOTS + GUILLEMETS + ANGLE BRACKETS %%%%%%%%%%
deftiret{Th--Th}

defdots{th{rmfourteen ...}th} % OK DO NOT PUT A PERIOD

deflgui{{rmsixteenchar"00ABkern -1pt}} % ««
defrgui{{gl rmsixteenchar"00BB}} % »»

def<{gl{rmsixteenchar"003Cgl}} % <
def>{{glrmsixteenchar"003E}gl} % >

%%%%%%%%%%%% BRACES two choices %%%%%%%%%%%
deflb{char"007B} % left braces
deflbr{char"007B} % left braces

defrb{char"007D}% right braces
defrbr{char"007D } % right braces

%%%%%%%%%%% BRACKETS + PARENTHESIS Use inside italics %%%%%%%%%%

def[{{rm char"005Bgl}} % [ Use inside italics
def]{{rm gl char"005D}} % ] Use inside italics
def({{rm char"0028gl}} % [ Use inside italics
def){{rm gl char"0029}}

%%%%%%%%%%% QUOTATION MARKS %%%%%%%%%%
% eloquent quotations
deflq{char"201Ckern -0.1pt}
defrq{char"201D} % NEEDS CLOSING

def"{char"0022} % plain quotation

%%%%%%%%%%% SEPARATING LINES %%%%%%%%%%
% modify according to teste

deflinea{nincenterline{vrule height 2.0pt width 1.5truein depth 0 pt}}
deflineb{nincenterline{vrule height 1.0pt width 1.5truein depth 0 pt}}

deflineA{nincenterline{vrule height 2.0pt width 2.5truein depth 0 pt}}
deflineAa{nincenterline{vrule height 2.5pt width 4.3truein depth 0pt}}

deflineAA{nincenterline{vrule height 3.2pt width 5.5truein depth 0pt}}
%
% next size up would be lineaaa etc

%%%%%%%%%%%%% SPECIALIZED DEFINITIONS, INTRODUCED AS NEEDED %%%%%
% I used many of these in my genealogical books to indicate various sources etc.
% msamA, msbmBBBB and cmsyAA are defined in [my_fonts.mac]

defdvd{hglue 1.0pt$^{hbox{boldmedsmall DVD}}$hglue 1.0pt}
defDVD{hglue 1.0pt$^{hbox{boldmedsmall DVD}}$hglue 1.0pt}
defhtml{kern 1.0truept{raise 3.0pt hbox{bfnine HTML}}}
defHTML{kern 1.0truept{raise 3.0pt hbox{bfnine HTML}}}
defcopyright{char"00A9}
defpdf{raise 4pthbox{boldmedsmall PDF}} % can not put } in case there is a period after.
defcopyright{char"00A9}
defeuro{{char"20AC}}
defpilcrow{{char"00B6}}
defstar{raise 3.5pt hbox{glmsamA char70}} ----------
defweb{gl{msbmBBBBchar121}hfill}
defsquare{thraise 3.7pthbox{msamAaaachar4}}
deftilda{{cmsyAA char24}}
%
% a separating | I use | as command, since and | are on same key
% used for identifying numbers in genealogy, e.g. {tt 122|1}
def|{thraise 1.5pt hbox{cmsyAachar 15}th}
%
% I use club to indicated a place in the text where changes are needed
defclub{raise 3.5pt hbox{gl$clubsuit$}}

%%%%%%%%%%%% ARROWS %%%%%%%%%%%%
% n.b. the names of the arrows are just: hackd etc, without a for arrow
%
% these are with hackbold
defhackD{hbox{hackboldBB char"21A6}hbox to 10truept{}}% |--->
defhackE{hbox{hackboldBB char"21E2}hbox to 10truept{}} % --->
defhackF{hbox{hackboldBB char"2192}hbox to 10truept{}} % ==>

% these are regular hack for smaller, lighter arrows
% 21DA <-- triple line 21DB --> triple line
defhackd{hbox{hackseventeen char"21A6}hbox to 10truept{}} % |-->
defhacke{hbox{hackseventeen char"21E2}hbox to 10truept{}} % -->
defhackf{hbox{hackseventeen char"2192}hbox to 10truept{}} % ==>

% libertine 21D0: <= no opposite of 21A6
% libertine 2190 <---- single line
%
deflibertineEA{lower 1pt hbox{rmfifteen char"21A6}kern -1.5pt{}} % same as above |--->
deflibertineEAA{lower 1pt hbox{rmeighteen char"21A6}kern -1.5pt{}} % same as above |--->
deflibertineEAAA{lower 1pt hbox{rmtwenty char"21A6}kern -1.5pt{}} % same as above |--->

% right facing
deflibertineEBR{lower 1pt hbox{rmfifteen char"21D2}kern -1.5pt{}} % ==>
deflibertineEBBR{lower 1pt hbox{rmeighteen char"21D2}kern -1.5pt{}} % ==>
deflibertineEBBBR{lower 1pt hbox{rmtwenty char"21D2}kern -1.5pt{}} % ==>
% left facing
deflibertineEBL{lower 1pt hbox{rmfifteen char"21D0}kern -1.5pt{}} % <==
deflibertineEBBL{lower 1pt hbox{rmeighteen char"21D0}kern -1.5pt{}} % <==
deflibertineEBBBL{lower 1pt hbox{rmtwenty char"21D0}kern -1.5pt{}} % <==

% These are long, double and slanted arrows set in cmsy
% long + double arrows
defLRA{$Longrightarrow$} % SEE REGULAR DOUBLE ARROWS BELOW
defLLA{$Longleftarrow$}
defEWAA{hbox{cmsyAAAA char 44}hbox to 10truept{}} % DOUBLE ARROW, BOTH WAYs

% arrows in SE, SW, NW , NE
defSEA{lower 5truepthbox{cmsyAAAA char38}}
defSWA{lower 5truepthbox{cmsyAAAA char 46}hbox to 10truept{}}
%
defNWA{lower 5truepthbox{cmsyAAAA char 45hbox to 10truept{}}}
%
defNEA{lower 5truepthbox{cmsyAAAA char 37hbox to 10truept{}}}
%
% arrows in E, S, W , N 10 to big for EA
defEA{hbox{cmsyAAAA char 33}hbox to 5truept{}}
%
defSA{hbox{cmsyAAAA char 35}hbox to 10truept{}}
%
defWA{hbox{cmsyAAAA char 32}hbox to 10truept{}}
%
defNA{hbox{cmsyAAAA char 34}hbox to 10truept{}}

% double arrows in E, S, W , N----------
%
defEAA{hbox{cmsyAAAA char 41}hbox to 10truept{}}
%
defSAA{hbox{cmsyAAAA char 43hbox to 10truept{}}}
%
defWAA{hbox{cmsyAAAA char 40hbox to 10truept{}}}
%
defNAA{hbox{cmsyAAAA char 42hbox to 10truept{}}}

%%%%%%%%%% TRIG DEFINITIONS %%%%%%%%%%
% the following definition allows me to fix the R inside $ $; note hbox{ }
defR{hbox{rm R}} % leave out '' ( '' because I already have.
%
% I took out sin because it interfered with sin = smallnoindent----------
defcos{hbox{rm cos}}
deftan{hbox{rm tan}}
defcsc{hbox{rm csc}}
defsec{hbox{rm sec}}
defcot{hbox{rm cot}}
defln{hbox{rm ln}}
deflog{hbox{rm log}}
deflim{hbox{rm lim}}

%%%%%%%%%% END %%%%%%%%%%









share|improve this question
















Here is a form that I have revised over the years. I also have one for right to left texts. After the form I have added one of the macro files listed at the top of the form:



% [FORM_PLAIN_[xetex].tex   

% This a form that I have created over the years. Users will want to make adjustments,
% especially to dimensions. Note in particular that pdfpageheight and pdfpagewidth
% as well as hsize, vsize and the PSTRICKS form (after bye) are given in inches.
% The reasom for this is because the paper that I use is
% "8.5 in x 11.0 in" ("letter"). Other measurements are in cm and points.

% That is the advantage of having a personally designed form
% sheet and macro files which can be easily modified and added to.
%
% Because this is a presentation form I have added explanations
% !! indicates that this is a dimension etc. that you should consider changing


%%%%%%%%%%%%%%%% XETEX INPUTS %%%%%%%%%%%%%

% These macro files are explained in more detail at the top of each file. Here I have
% a brief indication of the content.

input format_XETEX.mac
% spacing, special symbols ...
input unicode_latin.mac
% French and German accented letters
input macros.mac
% information boxes, special formats
input ancestors.mac
% abbreviations used in my genealogical texts !!
input additional.mac % printdate+ raggedleft (for right to left)
%
input petr_olsak.mac
% Petr Olsak's collection of pure Tex macros: tables, marginal notes,
% % ===> footnotes, see after bye for the commands
%
% ===> have to put [my_fonts.mac] AFTER [petr_olsak.mac] which redefines rm
input my_fonts.mac
% different fonts at various sizes; e.g bftwenty
% PSTRICKS is used for importing images
% there is a form after bye
% the shell file [photos2eps] (in the directory SHELL_FILES)
% will convert all your .jpg and .png files to .eps

% see [pstricks_examples.tex] for the use of these inputs
input pstricks % need for centring
input epsf % need for importing eps

input color % this is part of David Carlisle's "graph­ics-pln" package (available at CTAN)
%. it allows typesetting text in colour via definecolor textcolor and colorbox
% color can also be obtained via [petr_olsak.mac], section 8 and
% PSTRICKS
%%%%%%%%%%%%%%%% END XETEX INPUTS %%%%%%%%%%%%%

%%%%%%%%%%%%%%%% VARIOUS COMMANDS %%%%%%%%%%%%%

topglue 0pt
topskip 18pt

overfullrule=0pt
tracingoutput = 0 % file - minimum information ( =1 for full)
tracingonline = 0 % screen - minimum information ( =1 for full

%%%%%%%%%%%%%%%% END VARIOUS COMMANDS %%%%%%%%%%%%%

%%%%%%%%%%%%%%%%% DIMENSIONS %%%%%%%%%%%%%
pdfpageheight=11truein % !!
pdfpagewidth= 8.5truein %!!

vsize = 8.50 in %!!
{hsize = 5.94 in %!!

voffset = 0.5 truecm %!!
hoffset = 0.70truecm %!!

baselineskip = 14pt % default = 12pt

%%%%%%%%%%%%%%%%% END DIMENSIONS %%%%%%%%%%%%%

%%%%%%%%%%% FOOTER & HEADER %%%%%%%%%%%%%%%%%

% =======> 3 CHANGES TO MAKE <=========

nopagenumbers

% 2000 was chosen so that I will notice and change
% in final versions
pageno = 2000 % 3 CHANGES TO MAKE

% this footer puts a page number in bold at the bottom of each page, EXCEPT FIRST
footline = { % THE FOOTLINE MATERIAL IS IN ENCLOSED IN {}
ifnum pageno = 2000 % do nothing <== keep with false #
else
{centerline{bf folio}} % centerline closes here for page #
fi % this matches ifnum
}
%
% NO DATES HERE, ONLY IN TITLE
headline = {% THE FOOTLINE MATERIAL IS IN ENCLOSED IN {}
centerline{ % CAN NOT PUT CENTERLINE AFTER ELSE, FOULS UP!
ifnum pageno = 2000 % do nothing <== keep with false #
else
{bfthirteen +++++++++++}
fi % THIS MATCHES IFNUM
} %THIS MATCHS CENTERLINE
} % THIS MATCHES { WITH FOOTLINE

%%%%%%%%%%%%%%%%%%%% END FOOTER AND HEADER %%%%%%%%%%%%%%%%%%%%%
%
% %%%%%%%%%%%%%%%%%%%% TEXT STARTS % %%%%%%%%%%%%%%%%%%%%
%
{rm % !! 12.5pt I like a larger font, defined in [my_fonts.mac]
%
%
{verysmall . } % !! 0.1pt used to move text up via vskip -20ptnin !!
%
vskip -20ptnin % nin = noindent, see [format_XETEX.mac]
%
centerline{bftwenty ++} % defined in [my_fonts.mac]
%
mni % medskipnoindent see [format_XETEX.mac]
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%
% KEEP THIS ENDING!!! had when needed headers
vfilleject
%%
} % ends roman
par} % ends hsize
bye

%%%%%%%%%%%%%%% FORMS %%%%%%%%%%%%%%%%
%
% PSTRICKS FORM
centerline{epsfxsize = 6.5trueinepsfbox{*.eps}}
vskip 4 truept
centerline{}
%
vskip 0.7cmnin
%
% FOOTNOTES FORM: section 14 of [petr_olsak.mac]
% fnotemark{*.} next to the text
% fnotetext{*} place somewhere after location of fnotemark
% it may require two runs to complete

----------

% [format_XETEX.mac]

% Note, for example, that using deflb{char"007B} for left braces (instead of $($ )
% produces a size which corresponds to the font being used.
% The same philosopy is applied elsewhere in this list.


%%%%%%%%%%%% FIXED VERTICAL DISTANCES (increasing order)
% I do not bother with the glue as I change distances via vskip if not correct

defpni{parnoindent}
defpin{parindent}

% smallskip = 3pt; I want a little more
defsni{vskip 4trueptnoindent}
defsin{vskip 4trueptindent}

% medskip = 6pt; I want a little more
defmni{vskip 8 trueptnoindent}
defmin{vskip 8 trueptindent}

% bigskip is 12pt
defbni{vskip 12trueptnoindent}
defbin{vskip 12trueptindent}

defnin{noindent}

defcentreline{centerline} % Canadian spelling which I naturally tend to write

%%%%%%%%%%%% FIXED HORIZONTAL DISTANCES (increasing order)
%
defgl{hglue 1.0pt} % gl = GLUE , does not break
defth{hskip 1.5pt} % = approx thinspace GLUE
defthh{hskip 2.25pt} % between th and Th

% just like big and Big
defTh{hskip 3.0pt} % = jot
defTH{hskip 4.0pt}

% just like big and Big
defen{enspace} % hskip 5pt BREAKS
defEn{enspace} % hskip 6pt BREAKS
defEN{enspace} % hskip 7pt BREAKS

% conflicts with Hebrew qof, so use quad with Hebrew
% and comment out this next line
defq{quad} % hskip 10pt BREAKS
defqq{qquad} % hskip 20pt BREAKS

%%%%%%%%%%%% SLASHES %%%%%%%%%%%
defbsl{char"005Cgl}

deffsl{hskip 1.8pt/hskip 1.5pt} % was 2.5pt

%%%%%%%%%%%% SPECIAL INDENTS + SQUEEZE %%%%%%%%%%%
defbibl{mnihangindent=parindentnoindent}
defbib{mnihangindent=parindentnoindent}

% USAGE: squeeze{spaceskip = 1.5pt proud, shallow, ....}
defsqueeze{hbox to hsize }

%%%%%%%%%%%% UNDERBAR IN FILE TITLE %%%%%%%%%%%
defun{kern -0.85pt gl_gl }
defunl{kern -0.85pt gl_gl }

%%%%%%%%%%% TIRET + DOTS + GUILLEMETS + ANGLE BRACKETS %%%%%%%%%%
deftiret{Th--Th}

defdots{th{rmfourteen ...}th} % OK DO NOT PUT A PERIOD

deflgui{{rmsixteenchar"00ABkern -1pt}} % ««
defrgui{{gl rmsixteenchar"00BB}} % »»

def<{gl{rmsixteenchar"003Cgl}} % <
def>{{glrmsixteenchar"003E}gl} % >

%%%%%%%%%%%% BRACES two choices %%%%%%%%%%%
deflb{char"007B} % left braces
deflbr{char"007B} % left braces

defrb{char"007D}% right braces
defrbr{char"007D } % right braces

%%%%%%%%%%% BRACKETS + PARENTHESIS Use inside italics %%%%%%%%%%

def[{{rm char"005Bgl}} % [ Use inside italics
def]{{rm gl char"005D}} % ] Use inside italics
def({{rm char"0028gl}} % [ Use inside italics
def){{rm gl char"0029}}

%%%%%%%%%%% QUOTATION MARKS %%%%%%%%%%
% eloquent quotations
deflq{char"201Ckern -0.1pt}
defrq{char"201D} % NEEDS CLOSING

def"{char"0022} % plain quotation

%%%%%%%%%%% SEPARATING LINES %%%%%%%%%%
% modify according to teste

deflinea{nincenterline{vrule height 2.0pt width 1.5truein depth 0 pt}}
deflineb{nincenterline{vrule height 1.0pt width 1.5truein depth 0 pt}}

deflineA{nincenterline{vrule height 2.0pt width 2.5truein depth 0 pt}}
deflineAa{nincenterline{vrule height 2.5pt width 4.3truein depth 0pt}}

deflineAA{nincenterline{vrule height 3.2pt width 5.5truein depth 0pt}}
%
% next size up would be lineaaa etc

%%%%%%%%%%%%% SPECIALIZED DEFINITIONS, INTRODUCED AS NEEDED %%%%%
% I used many of these in my genealogical books to indicate various sources etc.
% msamA, msbmBBBB and cmsyAA are defined in [my_fonts.mac]

defdvd{hglue 1.0pt$^{hbox{boldmedsmall DVD}}$hglue 1.0pt}
defDVD{hglue 1.0pt$^{hbox{boldmedsmall DVD}}$hglue 1.0pt}
defhtml{kern 1.0truept{raise 3.0pt hbox{bfnine HTML}}}
defHTML{kern 1.0truept{raise 3.0pt hbox{bfnine HTML}}}
defcopyright{char"00A9}
defpdf{raise 4pthbox{boldmedsmall PDF}} % can not put } in case there is a period after.
defcopyright{char"00A9}
defeuro{{char"20AC}}
defpilcrow{{char"00B6}}
defstar{raise 3.5pt hbox{glmsamA char70}} ----------
defweb{gl{msbmBBBBchar121}hfill}
defsquare{thraise 3.7pthbox{msamAaaachar4}}
deftilda{{cmsyAA char24}}
%
% a separating | I use | as command, since and | are on same key
% used for identifying numbers in genealogy, e.g. {tt 122|1}
def|{thraise 1.5pt hbox{cmsyAachar 15}th}
%
% I use club to indicated a place in the text where changes are needed
defclub{raise 3.5pt hbox{gl$clubsuit$}}

%%%%%%%%%%%% ARROWS %%%%%%%%%%%%
% n.b. the names of the arrows are just: hackd etc, without a for arrow
%
% these are with hackbold
defhackD{hbox{hackboldBB char"21A6}hbox to 10truept{}}% |--->
defhackE{hbox{hackboldBB char"21E2}hbox to 10truept{}} % --->
defhackF{hbox{hackboldBB char"2192}hbox to 10truept{}} % ==>

% these are regular hack for smaller, lighter arrows
% 21DA <-- triple line 21DB --> triple line
defhackd{hbox{hackseventeen char"21A6}hbox to 10truept{}} % |-->
defhacke{hbox{hackseventeen char"21E2}hbox to 10truept{}} % -->
defhackf{hbox{hackseventeen char"2192}hbox to 10truept{}} % ==>

% libertine 21D0: <= no opposite of 21A6
% libertine 2190 <---- single line
%
deflibertineEA{lower 1pt hbox{rmfifteen char"21A6}kern -1.5pt{}} % same as above |--->
deflibertineEAA{lower 1pt hbox{rmeighteen char"21A6}kern -1.5pt{}} % same as above |--->
deflibertineEAAA{lower 1pt hbox{rmtwenty char"21A6}kern -1.5pt{}} % same as above |--->

% right facing
deflibertineEBR{lower 1pt hbox{rmfifteen char"21D2}kern -1.5pt{}} % ==>
deflibertineEBBR{lower 1pt hbox{rmeighteen char"21D2}kern -1.5pt{}} % ==>
deflibertineEBBBR{lower 1pt hbox{rmtwenty char"21D2}kern -1.5pt{}} % ==>
% left facing
deflibertineEBL{lower 1pt hbox{rmfifteen char"21D0}kern -1.5pt{}} % <==
deflibertineEBBL{lower 1pt hbox{rmeighteen char"21D0}kern -1.5pt{}} % <==
deflibertineEBBBL{lower 1pt hbox{rmtwenty char"21D0}kern -1.5pt{}} % <==

% These are long, double and slanted arrows set in cmsy
% long + double arrows
defLRA{$Longrightarrow$} % SEE REGULAR DOUBLE ARROWS BELOW
defLLA{$Longleftarrow$}
defEWAA{hbox{cmsyAAAA char 44}hbox to 10truept{}} % DOUBLE ARROW, BOTH WAYs

% arrows in SE, SW, NW , NE
defSEA{lower 5truepthbox{cmsyAAAA char38}}
defSWA{lower 5truepthbox{cmsyAAAA char 46}hbox to 10truept{}}
%
defNWA{lower 5truepthbox{cmsyAAAA char 45hbox to 10truept{}}}
%
defNEA{lower 5truepthbox{cmsyAAAA char 37hbox to 10truept{}}}
%
% arrows in E, S, W , N 10 to big for EA
defEA{hbox{cmsyAAAA char 33}hbox to 5truept{}}
%
defSA{hbox{cmsyAAAA char 35}hbox to 10truept{}}
%
defWA{hbox{cmsyAAAA char 32}hbox to 10truept{}}
%
defNA{hbox{cmsyAAAA char 34}hbox to 10truept{}}

% double arrows in E, S, W , N----------
%
defEAA{hbox{cmsyAAAA char 41}hbox to 10truept{}}
%
defSAA{hbox{cmsyAAAA char 43hbox to 10truept{}}}
%
defWAA{hbox{cmsyAAAA char 40hbox to 10truept{}}}
%
defNAA{hbox{cmsyAAAA char 42hbox to 10truept{}}}

%%%%%%%%%% TRIG DEFINITIONS %%%%%%%%%%
% the following definition allows me to fix the R inside $ $; note hbox{ }
defR{hbox{rm R}} % leave out '' ( '' because I already have.
%
% I took out sin because it interfered with sin = smallnoindent----------
defcos{hbox{rm cos}}
deftan{hbox{rm tan}}
defcsc{hbox{rm csc}}
defsec{hbox{rm sec}}
defcot{hbox{rm cot}}
defln{hbox{rm ln}}
deflog{hbox{rm log}}
deflim{hbox{rm lim}}

%%%%%%%%%% END %%%%%%%%%%






macros xetex unicode plain-tex right-to-left






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 days ago









Stefan Pinnow

19.7k83276




19.7k83276










asked Jan 23 at 18:34









morris rogermorris roger

715




715








  • 1





    I don't see a question here ...

    – Joseph Wright
    Jan 23 at 18:35






  • 4





    Please note that this a Q&A forum. Your post doesn't contain a question at all. Also note that even if you turned the reviewing into a question, this would be off-topic here, as we don't do complete code review (though some of us might do this professionally), but only tackle specific issues a user faces. Also some users are reluctant to open external links.

    – Skillmon
    Jan 23 at 18:40








  • 4





    You appear to have done a lot of work that I think would be valuable to others. Perhaps just post to CTAN and see what responses (complaints) you get, provided you are prepared to respond to your users.

    – Peter Wilson
    Jan 23 at 18:49






  • 2





    note your statement here and in the first pdf you link to that xetex directly produces pdf is a bit misleading, xetex produces dvi (actually xdv) output, that is converted to pdf using the xdvipdfmx dvi driver. It is an extension of tex not an extension of pdftex.

    – David Carlisle
    Jan 23 at 20:28






  • 1





    @morrisroger If you want to reply to specific comments, you can just start your message with @ followed by the username. This has the advantage, that the user will be notified about your reply.

    – samcarter
    2 days ago














  • 1





    I don't see a question here ...

    – Joseph Wright
    Jan 23 at 18:35






  • 4





    Please note that this a Q&A forum. Your post doesn't contain a question at all. Also note that even if you turned the reviewing into a question, this would be off-topic here, as we don't do complete code review (though some of us might do this professionally), but only tackle specific issues a user faces. Also some users are reluctant to open external links.

    – Skillmon
    Jan 23 at 18:40








  • 4





    You appear to have done a lot of work that I think would be valuable to others. Perhaps just post to CTAN and see what responses (complaints) you get, provided you are prepared to respond to your users.

    – Peter Wilson
    Jan 23 at 18:49






  • 2





    note your statement here and in the first pdf you link to that xetex directly produces pdf is a bit misleading, xetex produces dvi (actually xdv) output, that is converted to pdf using the xdvipdfmx dvi driver. It is an extension of tex not an extension of pdftex.

    – David Carlisle
    Jan 23 at 20:28






  • 1





    @morrisroger If you want to reply to specific comments, you can just start your message with @ followed by the username. This has the advantage, that the user will be notified about your reply.

    – samcarter
    2 days ago








1




1





I don't see a question here ...

– Joseph Wright
Jan 23 at 18:35





I don't see a question here ...

– Joseph Wright
Jan 23 at 18:35




4




4





Please note that this a Q&A forum. Your post doesn't contain a question at all. Also note that even if you turned the reviewing into a question, this would be off-topic here, as we don't do complete code review (though some of us might do this professionally), but only tackle specific issues a user faces. Also some users are reluctant to open external links.

– Skillmon
Jan 23 at 18:40







Please note that this a Q&A forum. Your post doesn't contain a question at all. Also note that even if you turned the reviewing into a question, this would be off-topic here, as we don't do complete code review (though some of us might do this professionally), but only tackle specific issues a user faces. Also some users are reluctant to open external links.

– Skillmon
Jan 23 at 18:40






4




4





You appear to have done a lot of work that I think would be valuable to others. Perhaps just post to CTAN and see what responses (complaints) you get, provided you are prepared to respond to your users.

– Peter Wilson
Jan 23 at 18:49





You appear to have done a lot of work that I think would be valuable to others. Perhaps just post to CTAN and see what responses (complaints) you get, provided you are prepared to respond to your users.

– Peter Wilson
Jan 23 at 18:49




2




2





note your statement here and in the first pdf you link to that xetex directly produces pdf is a bit misleading, xetex produces dvi (actually xdv) output, that is converted to pdf using the xdvipdfmx dvi driver. It is an extension of tex not an extension of pdftex.

– David Carlisle
Jan 23 at 20:28





note your statement here and in the first pdf you link to that xetex directly produces pdf is a bit misleading, xetex produces dvi (actually xdv) output, that is converted to pdf using the xdvipdfmx dvi driver. It is an extension of tex not an extension of pdftex.

– David Carlisle
Jan 23 at 20:28




1




1





@morrisroger If you want to reply to specific comments, you can just start your message with @ followed by the username. This has the advantage, that the user will be notified about your reply.

– samcarter
2 days ago





@morrisroger If you want to reply to specific comments, you can just start your message with @ followed by the username. This has the advantage, that the user will be notified about your reply.

– samcarter
2 days ago










0






active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f471548%2fis-there-a-set-of-ready-to-use-forms-and-macros-for-plain-tex%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f471548%2fis-there-a-set-of-ready-to-use-forms-and-macros-for-plain-tex%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Contact image not getting when fetch all contact list from iPhone by CNContact

count number of partitions of a set with n elements into k subsets

A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks