Is there a set of ready-to-use forms and macros for plain tex?
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 "graphics-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
|
show 5 more comments
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 "graphics-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
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
|
show 5 more comments
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 "graphics-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
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 "graphics-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
macros xetex unicode plain-tex right-to-left
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
|
show 5 more comments
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
|
show 5 more comments
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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