%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Special Commands for the LShort2e Introduction % $Id: lshort2e.sty,v 1.1.1.1 2002/02/26 08:05:50 oetiker Exp $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % By Tobias Oetiker %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\errorcontextlines=10 %save pageref an label \let\lsspageref\pageref \ProvidesPackage{llyhyt2e} \RequirePackage[frenchb,finnish]{babel} \RequirePackage{mflogo} \RequirePackage{verbatim} \RequirePackage{fancyhea} \RequirePackage{calc} \RequirePackage{amsmath,amsfonts,amssymb} \RequirePackage[all]{xy} %\RequirePackage{lmodern} % I'd rather use the super computer modern fonts \RequirePackage{type1cm}% remove size restrictions % some packages which draw a euro \RequirePackage{textcomp} %need some magic here to keep the original definition of rightarrow \newcommand{\org@Rightarrow}{} \let\org@Rightarrow\Rightarrow \usepackage{marvosym} \let\MVRightarrow\Rightarrow \let\Rightarrow\org@Rightarrow %%% \RequirePackage[gen]{eurosym} %\RequirePackage{eurosans} %\let\EUROSANS\euro \RequirePackage{eurofont}% à la place d'europs (conflit de nom) \RequirePackage{url} % Lets have some nice headings % \pagestyle{fancyplain} \renewcommand{\chaptermark}[1]{\markboth{#1}{}} \renewcommand{\sectionmark}[1]{\markright{\thesection{} #1}} \lhead[\fancyplain{}{\bfseries\thepage}] {\fancyplain{}{\bfseries\rightmark}} \rhead[\fancyplain{}{\bfseries\leftmark}] {\fancyplain{}{\bfseries\thepage}} \cfoot[]{} \addtolength{\headheight}{1.6pt} % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Adapted from TeX FAQ \renewcommand{\Email}{\begingroup \def\UrlLeft{<}\def\UrlRight{>} \urlstyle{tt}\Url} \def\mailto|#1|{\href{mailto:#1}{\Email|#1|}} % url to mail somewhere \newcommand{\CTANref}{\begingroup \urlstyle{tt}\Url} % \def\CTAN|#1|{\href{ftp://ftp.dante.de/tex-archive/#1}{\CTANref|CTAN:/tex-archive/#1|}} \newcommand\Newsgroup{\begingroup \urlstyle{tt}\Url} % newsgroup \let\URL\url % just a URL \newcommand{\PSi}{\textsc{PostScript}\index{PostScript@\textsc{PostScript}}} \newcommand{\EPSi}{Encapsulated \textsc{PostScript}% \index{Encapsulated PostScript@Encapsulated \textsc{PostScript}}% \index{PostScript@\textsc{PostScript}!Encapsulated}% } % Earlier paragraphs were separated by some space % %\setlength{\parindent}{0pt} %\setlength{\parskip}{1.5ex plus 0.7ex minus 0.6ex} \newcommand{\manual}{\emph{\LaTeX{} Manual}~\cite{manual}} \newcommand{\companion}{\emph{The \LaTeX{} Companion}~\cite{companion}} \newcommand{\guide}{\emph{Local Guide}~\cite{local}} \newcommand{\contrib}[3]{#1\quad\mailto|#2|{\small\\\quad\textit{#3}}\\[1ex]} % % Some commands for helping with INDEX creation % \newcommand{\bs}{\symbol{'134}}%Print backslash %\newcommand{\bs}{\ensuremath{\mathtt{\backslash}}}%Print backslash % Index entry for a command (\cih for hidden command index \newcommand{\eei}[1]{% \index{tiedostopääte!\texttt{#1}}\texttt{#1}} \newcommand{\fni}[1]{% \index{kirjasin!#1@\texttt{\bs#1}}% \index{#1@\texttt{\hspace*{-1.2ex}\bs #1}}\texttt{\bs#1}} \newcommand{\cih}[1]{% \index{komennot!#1@\texttt{\bs#1}}% \index{#1@\texttt{\hspace*{-1.2ex}\bs #1}}} \newcommand{\ci}[1]{\cih{#1}\texttt{\bs#1}} %Package \newcommand{\paih}[1]{% \index{makrokokoelmat!#1@\textsf{#1}}% \index{#1@\textsf{#1}}} \newcommand{\pai}[1]{% \paih{#1}\textsf{#1}} % Index entry for an environment \newcommand{\ei}[1]{% \index{ympäristöt!\texttt{#1}}% \index{#1@\texttt{#1}}% \texttt{#1}} % Indexentry for a word (Word inserted into the text) \newcommand{\wi}[1]{\index{#1}#1} % % Typesetting Commands % \newenvironment{lscommand}% {\nopagebreak\par\small\addvspace{3.2ex plus 0.8ex minus 0.2ex}% \vskip -\parskip \noindent% \begin{tabular}{|l|}\hline\rule{0pt}{1em}\ignorespaces}% {\\\hline\end{tabular}\par\nopagebreak\addvspace{3.2ex plus 0.8ex minus 0.2ex}% \vskip -\parskip} % % Type setting Code Fragments % \newenvironment{code}{\begin{quote}}{\end{quote}} % % Intro Environment \newenvironment{intro}{\sffamily}{\vspace*{2ex minus 1.5ex}} % \newcommand{\secby}[2]{\nopagebreak\par\addvspace{-1.5ex}% \vskip -\parskip\noindent{\tiny Kirjoittanut #1 \mailto|#2|}\par\nopagebreak% \addvspace{1ex plus 0.8ex minus 0.2ex}% \vskip -\parskip\noindent\ignorespaces} % % propper bookmark entries in pdftex \ifx\hypersetup\undefined\else \pdfstringdefDisableCommands{\edef\ci{\textbackslash}}% \pdfstringdefDisableCommands{\edef\sim{\textasciitilde}}% \pdfstringdefDisableCommands{\edef\circ{\textdegree}}% \pdfstringdefDisableCommands{\edef\ldots{... }}% \fi %\noindent\addvspace{1ex}\small #1 $<$\texttt{#2}$>$\par\addvspace{2ex}\noindent\ignorespaces} % % % Symbol Entry for Math Symbol Tables % \newcommand{\X}[1]{$#1$&\texttt{\string#1}\hspace*{1ex}} % normal text .... \newcommand{\SC}[1]{#1&\texttt{\string#1}\hspace*{1ex}} % for accents in text mode \newcommand{\A}[1]{#1&\texttt{\string#1}\hspace*{1ex}} \newcommand{\B}[2]{#1#2&\texttt{\string#1{} #2}\hspace*{1ex}} \newcommand{\W}[2]{$#1{#2}$& \texttt{\string#1}\texttt{\string{\string#2\string}}\hspace*{1ex}} \newcommand{\Y}[1]{$\big#1$ &\texttt{\string#1}} % % Mathsymbol Table \newsavebox{\symbbox} \newenvironment{symbols}[1]% {\par\vspace*{2ex} \renewcommand{\arraystretch}{1.1} \begin{lrbox}{\symbbox} \hspace*{4ex}\begin{tabular}{@{}#1@{}}}% {\end{tabular}\end{lrbox}\makebox[\textwidth]{\usebox{\symbbox}}\par\medskip} % % Special Prep for AMS Symbols Printout % Should work if AMS is not available % % we have no PS versions of the rsfs fonts ... so this is a nogo for pdf %\ifx\HyPsd@pageref\undefined \RequirePackage{mathrsfs} %\fi \RequirePackage{latexsym} \RequirePackage[mathcal]{euscript} % % Print |--| to show a distance % \newcommand{\demowidth}[1]{\rule{0.3pt}{1.3ex}\rule{#1}{0.3pt}\rule{0.3pt}{1.3ex}} % % --- example ---- % This is an environment to set LaTeX examples. % On the left side the source text and on the % right side the typeset text. % % \begin{example} % \Large This is Large % \end{example} % % This Part is stolen from the verbaim.sty by FMi % \newwrite\example@out \newcounter{exacnt} \setcounter{exacnt}{1} \newlength{\savefboxrule} \newlength{\savefboxsep} \newlength{\outdent} \setlength{\outdent}{2cm} \addtolength{\headwidth}{\outdent} \newenvironment{example}% {\begingroup% Lets Keep the Changes Local \@bsphack \immediate\openout \example@out \jobname.exa \let\do\@makeother\dospecials\catcode`\^^M\active \def\verbatim@processline{% \immediate\write\example@out{\the\verbatim@line}}% \verbatim@start}% {\immediate\closeout\example@out\@esphack\endgroup% % % And here comes my part. :- % \stepcounter{exacnt}% \setlength{\parindent}{0pt}% \par\addvspace{3.0ex plus 0.8ex minus 0.5ex}\vskip -\parskip\relax % Page \lsspageref{exa:\theexacnt} %% The old Finnish part in case the new doesn't work %% \expandafter\ifx\csname r@exacnt\endcsname\relax\else %\ifx\pdfoutput\undefined % We're not running pdftex % \ifodd0\expandafter\expandafter\expandafter % \@secondoftwo\csname r@exa:\theexacnt\endcsname\relax % \hspace*{0pt}\else\hspace*{-\outdent}\fi% %\else % \ifodd0\realpageref{exa:\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi% %\fi %%\fi %% And now the new version \expandafter\ifx\csname r@exa\theexacnt\endcsname\relax\else \ifx\pdfoutput\undefined % We're not running pdftex \ifodd\lsspageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi% \else % HyPsd@pageref internal hyperref command v6.69c \ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi% \fi \fi \makebox[\textwidth][l]{% %\raisebox{-\height}[0pt][\totalheight]{% \begin{minipage}[c]{0.5\outdent+0.46\textwidth-3mm}% \small\verbatiminput{\jobname.exa} \end{minipage}% %}% \hspace{5mm}% \setlength{\savefboxrule}{\fboxrule}% \setlength{\fboxrule}{0.1pt}% \setlength{\savefboxsep}{\fboxsep}% \setlength{\fboxsep}{3mm}% % \raisebox{-\height}[0pt][\totalheight]{% \fbox{% \begin{minipage}{0.5\outdent+0.54\textwidth-3.5mm-2\fboxrule-2\fboxsep}% \setlength{\fboxrule}{\savefboxrule}% \setlength{\fboxsep}{\savefboxsep}% \setlength{\fboxrule}{0.5pt}% \setlength{\parskip}{1ex plus 0.4ex minus 0.2ex}% \begin{trivlist}\item\small\input{\jobname.exa} \end{trivlist} \end{minipage} }% % }% }\label{exa\theexacnt}% \par\addvspace{3ex plus 0.8ex minus 0.5ex}\vskip -\parskip } \newenvironment{lined}[1]% {\begin{center}\begin{minipage}{#1}\hrule\medskip} {\vspace{-1ex}\hrule \end{minipage}\end{center}} % I want no headers on pages created by clearpage \renewcommand{\cleardoublepage} {\clearpage\if@twoside \ifodd\c@page\else \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}