%xsldoc.ent; ]> $Id: preamble.mod.xsl,v 1.82 2004/01/31 12:26:12 j-devenish Exp $ &ramon; &james; 20002001200220032004 Ramon Casellas &rev_2003_05; Variables and Templates used in &LaTeX; Preamble Generation This section described the variables and templates that are used in the generation of the output &LaTeX; preamble. Basically, the &LaTeX; preamble depends on the XML document, that is, on whether it is an article or a book. Top level template, called by article template, responsible of generating the &LaTeX; preamble according to user XSL variables and templates. If is empty, the template outputs and , then calls and followed by the value of . Otherwise, it outputs the value of followed by . Top level template, called by book template, responsible of generating the &LaTeX; preamble according to user XSL variables and templates. If is empty, the template outputs and , then calls and followed by the value of . Otherwise, it outputs the value of followed by . Generate documentclass for articles % -------------------------------------------- % Autogenerated LaTeX file for articles % -------------------------------------------- \ifx\pdfoutput\undefined \documentclass[ , , ]{ article } \else \documentclass[pdftex, , , ]{ article } \fi Generate documentclass for books % ------------------------------------------------------------ % Autogenerated LaTeX file for books % ------------------------------------------------------------ \ifx\pdfoutput\undefined \documentclass[ , , ]{ report } \else \documentclass[pdftex, , , ]{ report } \fi Select localisation language Chooses the gentext language for the document. &no_var; Selects the root set, book or article element and reads its lang or xml:lang attribute. Select babel option If is not set, this template will select a babel option based on the . A special value of none can be used to disable babel. afrikaans breton catalan czech welsh danish ngerman greek canadian british USenglish none esperanto spanish estonian finnish french irish scottish galician hebrew croatian hungarian bahasa italian dutch norsk polish brazil portugese romanian russian slovak slovene swedish turkish ukrainian Common &LaTeX; preamble shared by articles and books, and other document classes. Most of the packages and package options are managed here. The &LaTeX; preamble, after the documentclass command but before the document environment. \usepackage{graphicx} \usepackage{fancyhdr} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt} 0 .98 % Safeguard against long headers. \IfFileExists{truncate.sty}{ \usepackage{truncate} % Use an ellipsis when text would be larger than x% of the text width. % Preserve left/right text alignment using \hfill (works for English). \fancyhead[ol]{\truncate{\textwidth}{\sl\leftmark}} \fancyhead[el]{\truncate{\textwidth}{\sl\leftmark}} \fancyhead[ol]{} \fancyhead[el]{} \fancyhead[or]{\truncate{\textwidth}{\hfill\sl\rightmark}} \fancyhead[er]{\truncate{\textwidth}{\hfill\sl\rightmark}} \fancyhead[or]{} \fancyhead[er]{} \fancyhead[ol]{\truncate{\textwidth}{\sl\leftmark}} \fancyhead[er]{\truncate{\textwidth}{\hfill\sl\rightmark}} \fancyhead[ol]{} \fancyhead[er]{} \fancyhead[el]{\truncate{\textwidth}{\sl\leftmark}} \fancyhead[or]{\truncate{\textwidth}{\hfill\sl\rightmark}} \fancyhead[el]{} \fancyhead[or]{} }{\typeout{WARNING: truncate.sty wasn't available and functionality was skipped.}} \m@ne \@chapapp\ \thechapter. \ \fi #1}}{}} \def\dblatex@chaptersmark#1{\markboth{{#1}}{}} \newcommand{\dblatex@sectionmark}[1]{\markright{{\ifnum \c@secnumdepth >\z@ \thesection. \ \fi #1}}} \let\dblatex@ps@fancy\ps@fancy \def\ps@fancy{ \dblatex@ps@fancy \let\chaptermark\dblatex@chaptermark \let\sectionmark\dblatex@sectionmark } \makeatother ]]> % ---------------------- % Most Common Packages % ---------------------- \usepackage[ ]{varioref} \usepackage{latexsym} \usepackage{dcolumn} % Default decimal point-style column \newcolumntype{d}{D{ decimalpoint }{ latexdecimal }{-1}} \usepackage{enumerate} \usepackage{fancybox} \usepackage{float} \usepackage{ragged2e} \usepackage{fancyvrb} \makeatletter\@namedef{FV@fontfamily@default}{\def\FV@FontScanPrep{}\def\FV@FontFamily{}}\makeatother \fvset{obeytabs=true,tabsize= } Please use $latex.inputenc='latin1' instead of $latex.use.isolatin1='1'. \usepackage{isolatin1} \usepackage{parskip} \usepackage{rotating} \usepackage{subfigure} \usepackage{tabularx} \usepackage{longtable} \usepackage{umoline} \usepackage{url} % --------------- % Document Font % --------------- \usepackage{} % -------------------------------------------- % $latex.caption.swapskip enabled for $formal.title.placement support \newlength{\docbooktolatextempskip} \newcommand{\captionswapskip}{\setlength{\docbooktolatextempskip}{\abovecaptionskip} \setlength{\abovecaptionskip}{\belowcaptionskip} \setlength{\belowcaptionskip}{\docbooktolatextempskip}} \newcommand{\captionswapskip}{} % -------------------------------------------- % Better linebreaks \newcommand{\docbookhyphenatedot}[1]{{\hyphenchar\font=`\.\relax #1\hyphenchar\font=`\-}} \newcommand{\docbookhyphenatefilename}[1]{{\hyphenchar\font=`\.\relax #1\hyphenchar\font=`\-}} \newcommand{\docbookhyphenateurl}[1]{{\hyphenchar\font=`\/\relax #1\hyphenchar\font=`\-}} \usepackage[]{babel} % Guard against a problem with old package versions. \makeatletter \AtBeginDocument{ \DeclareRobustCommand\ref{\@refstar} \DeclareRobustCommand\pageref{\@pagerefstar} } \makeatother Common &LaTeX; preamble shared by article and book when their status is draft. &test_index_draft; &test_draft; Combining varioref with showkeys (and hyperref?) is not supported. \usepackage[color]{showkeys} \definecolor{refkey}{gray}{0.5} \definecolor{labelkey}{gray}{0.5} % Rip off things from showkeys to highlight index references \definecolor{indexkey}{gray}{.5}% \makeatletter \def\SK@indexcolor{\color{indexkey}} \def\SK@@@index#1{\@bsphack\SK@\SK@@index{#1}\begingroup\SK@index{#1}\endgroup\@esphack} \def\SK@@index#1>#2\SK@{\leavevmode\vbox to\z@{\vss \SK@indexcolor \rlap{\vrule\raise .75em\hbox{}{\circle*{5}}}}} \AtBeginDocument{\let\SK@index\index \let\index\SK@@@index} \makeatother Unavoidable &LaTeX; preamble shared by articles and books Contains custom commands that you just can't get rid of! % -------------------------------------------- \makeatletter \newcommand{\dbz}{\penalty \z@} \newcommand{\docbooktolatexpipe}{\ensuremath{|}\dbz} \newskip\docbooktolatexoldparskip \newcommand{\docbooktolatexnoparskip}{\docbooktolatexoldparskip=\parskip\parskip=0pt plus 1pt} \newcommand{\docbooktolatexrestoreparskip}{\parskip=\docbooktolatexoldparskip} \newcommand{\href}[1]{{}} \newcommand{\hyperlink}[1]{{}} \newcommand{\hypertarget}[2]{#2} \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else\hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} \usepackage[ ]{ucs} \catcode`\&=\active\def&{\@ifnextchar##{\begingroup\@sanitize\@docbooktolatexunicode\@gobble}{\&}} \def\@docbooktolatexunicode#1;{\endgroup\edef\@dbtemp{#1}\unichar{\@dbtemp}} \usepackage[ ]{inputenc} \usepackage[ ]{fontenc} \makeatother Preamble for certain floats % -------------------------------------------- % Commands to manage/style/create floats % figures, tables, algorithms, examples, eqn % -------------------------------------------- \floatstyle{ruled} \restylefloat{figure} \floatstyle{ruled} \restylefloat{table} \floatstyle{ruled} \newfloat{program}{ht}{lop}[section] \floatstyle{ruled} \newfloat{example}{ht}{loe}[section] \floatname{example}{ example } \floatstyle{ruled} \newfloat{dbequation}{ht}{loe}[section] \makeatletter\def\toclevel@dbequation{0}\makeatother \floatname{dbequation}{ equation } \floatstyle{boxed} \newfloat{algorithm}{ht}{loa}[section] \floatname{algorithm}{Algorithm} \usepackage{ifthen} % -------------------------------------------- % Check for PDFLaTeX/LaTeX % -------------------------------------------- \newif\ifpdf \ifx\pdfoutput\undefined \pdffalse % we are not running PDFLaTeX \else \pdfoutput=1 % we are running PDFLaTeX \pdftrue \fi % -------------------------------------------- % Load graphicx package with pdf if needed % -------------------------------------------- \ifpdf \usepackage[pdftex]{graphicx} \pdfcompresslevel=9 \else \usepackage{graphicx} \fi \usepackage{ifthen} % -------------------------------------------- % Check for PDFLaTeX/LaTeX % -------------------------------------------- \newif\ifpdf \ifx\pdfoutput\undefined \pdffalse % we are not running PDFLaTeX \else \pdfoutput=1 % we are running PDFLaTeX \pdftrue \fi % -------------------------------------------- % Load graphicx package with pdf if needed % -------------------------------------------- \ifpdf \usepackage[pdftex]{graphicx} \pdfcompresslevel=9 \else \usepackage{graphicx} \fi Manage the part of the preamble that handles the hyperref package. This template outputs the LaTeX code \usepackage[...]{hyperref} in order to use hyperlinks, backrefs and other goodies. If PDF support is activated, outputs laTeX code to detect whether the document is being compiled with pdflatex or latex to supply the right parameters (pdftex, dvips, etc). The package options should be optained from XSL variables. Default Value with PDF support: % -------------------------------------------- % Load hyperref package with pdf if needed % -------------------------------------------- \ifpdf \usepackage[pdftex,bookmarksnumbered,colorlinks,backref, bookmarks, breaklinks, linktocpage]{hyperref} \else \usepackage[bookmarksnumbered,colorlinks,backref, bookmarks, breaklinks, linktocpage]{hyperref} \fi % -------------------------------------------- Default Value without PDF support: % -------------------------------------------- % Load hyperref package % -------------------------------------------- \usepackage[bookmarksnumbered,colorlinks,backref, bookmarks, breaklinks, linktocpage]{hyperref} % -------------------------------------------- % Load hyperref package with pdf if needed % -------------------------------------------- \ifpdf \usepackage[pdftex, , ]{hyperref} \else \usepackage[ , ]{hyperref} \fi % -------------------------------------------- % -------------------------------------------- % Load hyperref package % -------------------------------------------- \usepackage[ , ]{hyperref} &LaTeX; mathematics support % -------------------------------------------- % Math support % -------------------------------------------- \usepackage{amsmath,amsthm, amsfonts, amssymb, amsxtra,amsopn} %\newtheorem{thm}{Theorem}[section] %\newtheorem{cor}[section]{Corollary} %\newtheorem{lem}[section]{Lemma} %\newtheorem{defn}[section]{Definition} %\newtheorem{prop}[section]{Proposition} %\newtheorem{ax}{Axiom} %\newtheorem{theorem}[section]{Theorem} %\newtheorem{corollary}{Corollary} %\newtheorem{lemma}{Lemma} %\newtheorem{proposition}{Proposition} %\theoremstyle{definition} %\newtheorem{definition}{Definition} %\theoremstyle{remark} %\newtheorem{rem}{Remark} %\newtheorem*{notation}{Notation} %\newcommand{\ntt}{\normalfont\ttfamily} %\newcommand{\thmref}[1]{Theorem~\ref{#1}} %\newcommand{\secref}[1]{\S\ref{#1}} %\newcommand{\lemref}[1]{Lemma~\ref{#1}} \newcommand{\bysame}{\mbox{\rule{3em}{.4pt}}\,} \newcommand{\A}{\mathcal{A}} \newcommand{\B}{\mathcal{B}} \newcommand{\XcY}{{(X,Y)}} \newcommand{\SX}{{S_X}} \newcommand{\SY}{{S_Y}} \newcommand{\SXY}{{S_{X,Y}}} \newcommand{\SXgYy}{{S_{X|Y}(y)}} \newcommand{\Cw}[1]{{\hat C_#1(X|Y)}} \newcommand{\G}{{G(X|Y)}} \newcommand{\PY}{{P_{\mathcal{Y}}}} \newcommand{\X}{\mathcal{X}} \newcommand{\wt}{\widetilde} \newcommand{\wh}{\widehat} % -------------------------------------------- %\DeclareMathOperator{\per}{per} \DeclareMathOperator{\cov}{cov} \DeclareMathOperator{\non}{non} \DeclareMathOperator{\cf}{cf} \DeclareMathOperator{\add}{add} \DeclareMathOperator{\Cham}{Cham} \DeclareMathOperator{\IM}{Im} \DeclareMathOperator{\esssup}{ess\,sup} \DeclareMathOperator{\meas}{meas} \DeclareMathOperator{\seg}{seg} % -------------------------------------------- Declared graphic extensions This template checks whether the user has overridden grafic.default.extension Otherwise, declares .pdf, .png, .jpg if using pdflatex and .eps if using latex. \DeclareGraphicsExtensions{ . } \ifpdf \DeclareGraphicsExtensions{.pdf,.png,.jpg} \else \DeclareGraphicsExtensions{.eps} \fi \DeclareGraphicsExtensions{.eps} ]]> \DeclareGraphicsExtensions{ . } \ifpdf \DeclareGraphicsExtensions{.pdf,.png,.jpg} \else \DeclareGraphicsExtensions{.eps} \fi \DeclareGraphicsExtensions{.eps}