%!latex-faq \documenttype{article} \newcommand{\ascii}{\abbr{ASCII}} \newcommand{\css}{\abbr{CSS}} \newcommand{\gellmu}{\abbr{GELLMU}} \newcommand{\html}{\abbr{HTML}} \newcommand{\mathml}{\abbr{MathML}} \newcommand{\mxhtml}{\abbr{XHTML} \abbr{+} \mathml} \newcommand{\pdf}{\abbr{PDF}} \newcommand{\sgml}{\abbr{SGML}} \newcommand{\xhtml}{\abbr{XHTML}} \newcommand{\xml}{\abbr{XML}} \newcommand{\aframe}[3][]{\hrule% \section[][\label[:series="frame"]{#1}]{\empty}% \hdrc{\evalref{\popkey}.~~#2}% #3 } \newcommand{\oframe}[3][]{% \section[][\label[:series="frame"]{#1}]{\empty}% \hdrc{\evalref{\popkey}.~~#2}% #3 } \newcommand{\frame}[3]{% popkey is not fast enough here \section[][\label[:series="frame"]{#1}][\evalref{#1}]{#2}% #3 } \newcommand{\qa}[2]{% \begin{menu}% \item[Q.]\ #1 % \item[A.]\ #2 % \end{menu}} \macro{\=}{\ovbar} \macro{\.}{\ovdot} \newcommand{\b}[1]{\unbar{#1}} \newcommand{\ar}[2]{\display{\includegraphics[:scale="#1"]{Arrows/#2arrow}}} \newcommand{\ari}[2]{\ibox{\includegraphics[:scale="#1"]{Arrows/#2arrow}}} \newcommand{\tbox}[1]{\begin{tabular}[m]{\vbr;p{.75}\vbr;}\hline % \display{#1} \\ \hline\end{tabular}} \newcommand{\ibox}[1]{\begin{tabular}[m]{p{.7}} % \display{#1} \end{tabular}} \newcommand{\smd}[3][smalldoc]{\hsf\Href{#1.#2}{#3}\hsf} \newcommand{\tref}[2]{\Href{#1.xhtml}{#2} % (\Href{#1.pdf}{PDF})\ (\Href{#1.glm}{Source})} \newcommand{\Href}[2]{\anch[Href="#1"]{#2}} \newcommand{\href}[2]{\anch[href="#1"]{#2}} \newcommand{\F}[1]{\mathbb{F}_{#1}} \newcommand{\sbox}[1]{% \Cbox{0.7}{0.15}{#1}} \newcommand{\Sbox}[1]{% \Cbox{0.8}{0.1}{#1}} \newcommand{\cbox}[1]{% \par{\display{\begin{tabular}{p{1.0}} #1 \end{tabular}}}} \newcommand{\Cbox}[3]{% \par{\display{\begin{tabular}{p{#2}p{#1}p{#2}}\empty& #3& \empty\end{tabular}}}} \newcommand{\bbox}{\begin{Menu}\item #1 \end{Menu}} \mathsym{\S}{\regch{\bold{S}}} \surtitle{W F Hammond: LaTeX Profiles as Objects in the Category of Markup Languages} \title{\latex Profiles as Objects in the Category of Markup Languages} \author{William F. Hammond} \address{ Dept. of Mathematics \& Statistics\\ University at Albany\\ Albany, New York\ \ 12222\ \ (USA) \\ \urlanch{http://www.albany.edu/\tld;hammond/} } \date{TeX User Group (TUG)\\ San Francisco, June 2010} % \secnumdepth{0} \begin{document} \frame{pretext}{Translation of \latex}{ \sbox{ \begin{description} \item[Question:] What works well with translation software? \item[Answer:] Profiled usage of \latex. \begin{itemize} \item Carefully limited command vocabulary. \item Tuned translation software. \end{itemize} \end{description} } } \frame{thistalk}{Today's Suggestion}{ \par{ ~\brk; ~\brk; } \begin{display} \begin{tabular}{\vbr;c\vbr;} \hline \bold{formalize profiled usage}\\ \hline \end{tabular} \end{display} \par{ ~\brk; ~\brk; } } \frame{latexprofile}{The Notion of \latex Profile}{ \bigskip \sbox{ \begin{itemize} \item A dialect of LaTeX with a fixed command vocabulary where all macro expansions must be effective in that vocabulary. \item A language essentially equivalent to an SGML document type with a canonical XML shadow. \end{itemize} } } \frame{tinymathsource}{A Simple Example}{ \subhdrc{of a document under a \latex profile} \Sbox{ \begin{verbatim} \documenttype{article} \surtitle{LaTeX Profiles} \title{\latex profiles: An Example} \begin{document} Classical \latex can be very hard to translate, but \latex profiles are straightforward to translate. It's easier to learn to write in a \latex profile than to learn to write \latex. \bold{Gratuitous Mathematical Content:} The numbers $\pi$, $i = \sqrt{-1}$, and $e = \func{exp}(1)$ are related by the equation \[ e^{i\pi} = -1 \ . \] \end{document} \end{verbatim} } } \latexcommand{\bsl;clearpage} \frame{cattoy}{Generalized \latex}{ \subhdrc{A \tex Catalogue Entry from 2001} \subsubhdrc{not under a \latex profile} \Sbox{ \begin{verbatim} \begin{entry}[ id="gellmu" datestamp="2001/07/30" modifier="hammond@math.albany.edu" ] \begin{about} \name{gellmu} \caption{LaTeX-like markup for writing XML documents} \author{\name{William F. Hammond}\email{hammond@math.albany.edu}} \license[type="gpl"]; \version{\number{0.7.4}\released{2001/07/26}} \end{about} \begin{description} \begin{abstract} . . . \end{abstract} \end{description} \distribution{\ctan{support/gellmu}} \end{entry} \end{verbatim} } } \frame{categories}{Notion of Category}{ \sbox{ \begin{itemize} \item A category consists of: \begin{enumerate} \item Objects \item Arrows between objects \end{enumerate} \item Rule: An arrow followed by a second is also an arrow \item Relevance: to suggest a way of thinking about markup \item (No plans for actually using category theory) \end{itemize} } } \latexcommand{\bsl;clearpage} \frame{markupcat}{The Category of Markup Languages}{ \sbox{ \begin{itemize} \item Markup languages are the objects \item Translations are the arrows \end{itemize} } } \frame{classicallatex}{Classical \latex;: an object in the category}{ \subsubhdrc{(to the extent that classical \latex\\ is a well-defined language)} \sbox{ \begin{itemize} \item \latex; is a reasonable translation target (for author-level markup languages). \item \latex; is a poor domain for translation to languages other than printer languages. \end{itemize} } } \frame{texinfo}{\slnt{Texinfo}: an object in the category}{ \sbox{ \begin{itemize} \item The language of the GNU Documentation System. \item A good domain for translation. \item Essentially equivalent to an author-level \xml document type --- an historical accident \item No provision for author-level math. \end{itemize} } } \latexcommand{\bsl;clearpage} \frame{sgmlxml}{SGML \& XML}{ \sbox{ \begin{itemize} \item SGML is a subcategory of the category of all markup languages \item XML is a subcategory of SGML \item XML is SGML made suitable for the World Wide Web \end{itemize} } } \frame{gooddomains}{Good domains for translation}{ \Sbox{ \begin{itemize} \item Author-level \sgml and \xml document types are, by design, good domains for translation, i.e., arrows can flow \bold{from} these document types. \item Arrows can be ``chained''; these pipelines work well. \end{itemize} } } \frame{latexproject}{The \latex Project}{ \Sbox{ \begin{itemize} \item Sponsor one or more reference profiles \item Sponsor translations from reference profiles to \begin{menu} \item 1. DVI and PDF \item 2. HTML (including math) \end{menu} \end{itemize} } } \frame{publishing}{Publishing}{ \Sbox{ \begin{itemize} \item Encourage maintainers of XML document types to reach HTML and PDF by translating first to reference \latex profiles \item Encourage authors to submit articles to journals as \latex instances under reference profiles. \end{itemize} } } \frame{gellmu}{The GELLMU Project}{ \Sbox{ \begin{itemize} \item Demonstrates that these ideas are not vaporous \item The GELLMU didactic document type may be viewed as a \latex profile that can serve as a base for constructing reference profiles \end{itemize} } } \frame{theseslides}{These Slides}{ \Sbox{ \begin{itemize} \item HTML with Math \item Written in the GELLMU didactic document type albeit with slides in mind \item Generated from the XML document type with a special translator for making HTML slides \item Gratuitous Math: \[ \int_{0}^{\infty} t^x e^{-t} \frac{d t}{t}\int: \spc = \spc \frac{1}{x}\ \prod_{k=1}^{\infty}\frac{\bal{1 + \frac{1}{k}}^x}{\bal{1 + \frac{x}{k}}} \prod: \] \end{itemize} } } \frame{ack}{Acknowledgement}{ \Cbox{0.8}{0.1}{\begin{menu} \item The \mxhtml version of these slides uses \Href{http://www.w3.org}{W3C}'s \Href{http://www.w3.org/Talks/Tools/Slidy/}{\softw{Slidy}} by Dave Raggett, a JavaScript/\css package for sizing and flow control of an \html or \xhtml slide show. \item(The slides were generated in a non-standard fashion from \gellmu source.) \end{menu}} \hdrc{\label{end}} } \end{document}