# LaTeX AFT 5.0 rules (version 2.0) # # History: # Original Version - Todd Coram # 2.0 4/03 - Substantial clean up by Guido Gonzato # 2.1 1/04 - Corrections and clean up by Guido Gonzato # # ID LaTeX EXT tex # Should AFT interpolate strings? (i.e. perform backslash substitutions, etc) # For TeX: No! TeX uses backslashes for commands! # interpolate yes Preamble{ % %LaTeX 2.e output generated byt AFT % \documentclass[11pt]{article} \usepackage{ae} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} % latin1 encoding \usepackage{graphicx} % graphic files \usepackage{alltt} % filtered verbatim \usepackage[margin=2.5cm]{geometry} % page layout \usepackage[colorlinks,urlcolor=blue]{hyperref} % URLs an hrefs % \setlength{\parindent}{0pt} \setlength{\parskip}{3pt} \pagestyle{headings} % \begin{document} }Preamble Postamble{ \end{document} }Postamble # Pre-Filters.... # preFilter \$ \\\$ # Allow TeX style linebreaks # #preFilter \\\\ %LiNeBrEaK% preFilter \\([^\$\~\[\|\_]) \\(\\backslash\\)$1 # Yes, hyperlinks... so make references where applicable # #URL \\url{%text%} URL %_text% \\url{%target%} InternalReference %text% (\$\S%TiLdE%\$\ref{%target%}) Target %text%\\label{%target%} # Protect the AFT hypertext braces # preFilter \{\+(.*?)\+\} %LeFtB%PlUs$1%PlUs%RiGhTB preFilter \}\+(.*?)\+\{ %RiGhTB%PlUs$1%PlUs%LeFtB preFilter \{\-(.*?)\-\} %LeFtB%NeG$1%NeG%RiGhTB preFilter \}\-(.*?)\-\{ %RiGhTB%NeG$1%NeG%LeFtB # Escape TeX braces # preFilter [\{\}] \\(\\$&\\) preFilter %LeFtB { preFilter %RiGhTB } preFilter %PlUs + preFilter %NeG - postFilter LaTeX \\LaTeX{} postFilter ([^a]|^)TeX $1\\TeX{} postFilter "(.*?)" ``$1'' # Formfeeds will force a new page # postFilter \014 \\newpage # Do the complex escaping that TeX likes # # Handle tildes inside of url references. They are not to be quoted by TeX. # sub escapeTildes {local($_) = @_; s/\~/\%TiLdE\%/g; return $_} postFilter/e (\\url\{.*?\}) &escapeTildes($1) postFilter [\^\~] \\$&\{\} postFilter %TiLdE% ~ postFilter \[ \\lbrack{} postFilter \] \\rbrack{} postFilter \| \\textbar{} postFilter %lbrack% { # AFT pragmas uses % which is mangled by postFilter before AFT can expand 'em # postFilter \%(\w+)?\% AfTSeT-$1-TeSTfA # Escape characters TeX doesn't like. # postFilter [\#\%\_\&] \\$& postFilter AfTSeT-(\w+)-TeSTfA %$1% postFilter [\<\>] \$$&\$ #preFilter %LiNeBrEaK% \\\\ Title \\title{%title%} Author \\author{%author%}\n\\maketitle TOC \\tableofcontents Image \\includegraphics{%image%} Image-center \\begin{center}\n\\includegraphics{%image%}\n\\end{center} Image-left \\begin{flushleft}\n\\includegraphics{%image%}\n\\end{flushleft} Image-right \\begin{flushright}\n\\includegraphics{%image%}\n\\end{flushright} * \\section{%text%}\n\\label{%section%} ** \\subsection{%text%}\n\\label{%section%} *** \\subsubsection{%text%}\n\\label{%section%} **** \\paragraph{%text%}\n\\label{%section%} ^* \\section*{%text%}\n\\addcontentsline{toc}{section}{%text%}\n\\label{%section%} ^** \\subsection*{%text%}\n\\addcontentsline{toc}{subsection}{%text%}\n\\label{%section%} ^*** \\subsubsection*{%text%}\n\\addcontentsline{toc}{subsubsection}{%text%}\n\\label{%section%} ^**** \\paragraph*{%text%}\n\\label{%section%} EndSect1 EndSect2 EndSect3 EndSect4 LineBreak \\\\ StartParagraph EndParagraph Center \\begin{center}\n%center%\n\\end{center} Note \\footnote{%note%} NotesAtEnd? no HorizontalLine \\rule{\\linewidth}{1pt} sub columns { my $ccnt = shift; return "".("l" x $ccnt)."" } # deprecated LaTeX tabular style # sub columns { my $ccnt = shift; return "||".("l|" x $ccnt)."|" } # TableRowEnd \\\\ \\hline StartTable \n\\begin{center}\n%caption%\\\\\n\\medskip\n\\begin{tabular}{%columns%}\n\\hline TableHeader %stuff% TableElement %stuff% TableElementSep \& TableRowStart TableRowEnd \\\\ EndTable \n\\hline\n\\end{tabular}\n\\end{center} #StartTable \\rule{\\linewidth}{1pt}\n\\begin{tabbing} #TableCaption {\\textbf{%caption%}} \\\\ #TableHeader %stuff%\\=\\= #TableElement %stuff%\\>\\> #TableRowStart #TableRowEnd \\\\ #EndTable \\rule{\\linewidth}{1pt}\n\\end{tabbing} StartBulletList \\begin{itemize} BulletListElement \\item[$\\bullet$] EndBulletListElement EndBulletList \\end{itemize} StartNamedList \\begin{description} NamedListElement \\item[%name%] EndNamedListElement EndNamedList \\end{description} StartNumberedList \\begin{enumerate} NumberedListElement \\item EndNumberedListElement EndNumberedList \\end{enumerate} StartQuote \\begin{quotation} EndQuote \\end{quotation} PreFilterVerbatim? No FullFilterFilteredVerbatim? Yes StartVerbatim \\begin{verbatim} EndVerbatim \\end{verbatim} StartBlockedVerbatim \\begin{verbatim} EndBlockedVerbatim \\end{verbatim} StartFilteredVerbatim \\begin{alltt} EndFilteredVerbatim \\end{alltt} StartTeletype \\texttt%lbrack% EndTeletype } StartSmall {\\small%lbrack% EndSmall }} StartEmphasis \\emph%lbrack% EndEmphasis } StartStrong \\textbf%lbrack% EndStrong } CommentLine %%--- %line% StrikeLine %%--- %line% NBSPACE