From 622a8e8f46d7dd1f383892f3aab85290a577c020 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:54:51 +0000 Subject: trunk/Master/texmf-dist/source/latex/manuscript git-svn-id: svn://tug.org/texlive/trunk@370 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/manuscript/Makefile | 19 ++ .../source/latex/manuscript/manuscript.drv | 29 ++ .../source/latex/manuscript/manuscript.dtx | 356 +++++++++++++++++++++ .../source/latex/manuscript/manuscript.ins | 14 + 4 files changed, 418 insertions(+) create mode 100644 Master/texmf-dist/source/latex/manuscript/Makefile create mode 100644 Master/texmf-dist/source/latex/manuscript/manuscript.drv create mode 100644 Master/texmf-dist/source/latex/manuscript/manuscript.dtx create mode 100644 Master/texmf-dist/source/latex/manuscript/manuscript.ins (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/latex/manuscript/Makefile b/Master/texmf-dist/source/latex/manuscript/Makefile new file mode 100644 index 00000000000..f13dca7fe4a --- /dev/null +++ b/Master/texmf-dist/source/latex/manuscript/Makefile @@ -0,0 +1,19 @@ +all: manuscript.dvi + +manuscript.dvi: manuscript.gls manuscript.ind + latex manuscript.drv + +manuscript.gls: manuscript.glo + makeindex -s gglo -o manuscript.gls manuscript.glo + +manuscript.ind: manuscript.idx + makeindex -s gind manuscript + +manuscript.glo: manuscript.drv + latex manuscript.drv + +manuscript.idx: manuscript.drv + latex manuscript.drv + +manuscript.drv: manuscript.dtx manuscript.ins + latex manuscript.ins diff --git a/Master/texmf-dist/source/latex/manuscript/manuscript.drv b/Master/texmf-dist/source/latex/manuscript/manuscript.drv new file mode 100644 index 00000000000..0efe3768a6c --- /dev/null +++ b/Master/texmf-dist/source/latex/manuscript/manuscript.drv @@ -0,0 +1,29 @@ +%% +%% This is file `manuscript.drv', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% manuscript.dtx (with options: `driver') +%% This is a stripped version of the original file. +%% Copyright (C) 2002 Matej Cepl +%% $Id: manuscript.dtx,v 1.4 2002/05/23 16:34:41 matej Exp $ +%% This program may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.2 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.2 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +\ProvidesFile {manuscript.dtx} + [2003/06/17 1.5 emulate typesetting of typewriter] +\documentclass{ltxdoc} +\EnableCrossrefs +\RecordChanges +\CodelineIndex +\begin{document} + \DocInput{manuscript.dtx} +\end{document} +%% This is the end of the stripped file. +%% +%% End of file `manuscript.drv'. diff --git a/Master/texmf-dist/source/latex/manuscript/manuscript.dtx b/Master/texmf-dist/source/latex/manuscript/manuscript.dtx new file mode 100644 index 00000000000..bd3bb561040 --- /dev/null +++ b/Master/texmf-dist/source/latex/manuscript/manuscript.dtx @@ -0,0 +1,356 @@ +% \CheckSum{137} +% \iffalse +%% Copyright (C) 2002 Matej Cepl +%% $Id: manuscript.dtx,v 1.4 2002/05/23 16:34:41 matej Exp $ +%% This program may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.2 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.2 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +%<*package> +\NeedsTeXFormat{LaTeX2e}[1996/06/01] +\ProvidesPackage{manuscript} +% +%<*!package> +\ProvidesFile {manuscript.dtx} +% + [2003/06/17 1.5 emulate typesetting of typewriter] +%<*driver> +\documentclass{ltxdoc} +\EnableCrossrefs +\RecordChanges +\CodelineIndex +\begin{document} + \DocInput{manuscript.dtx} +\end{document} +% +%<*!driver> +% \fi + +% \DoNotIndex{\@empty,\@ifundefined,\AtBeginDocument,\def,\else} +% \DoNotIndex{\ExecuteOptions,\fi,\huge,\hyphenpenalty,\ifMS@ps} +% \DoNotIndex{\LARGE,\let,\MS@psfalse,\MS@pstrue,\MS@maketitle} +% \DoNotIndex{\newif,\ProcessOptions,\relax,\renewcommand,\RequirePackage} +% \DoNotIndex{\typearea,\usefont} +% \DoNotIndex{\MS@quote,\MS@questquote,\MS@next,\MS@dblq,\MS@sglq} +% \changes{1.0}{2002 May 20}{Initial version} +% \changes{1.2}{2002 May 22}{\cs{fileversion} and \cs{filedate} +% which does not seem to work at all being replaced by \cs{RCS} +% command from \texttt{rcs} package.} +% \changes{1.4}{2002 May 23}{With help of Stepan Kasal (stepan at +% matsrv dot mat dot cas dot cz) I have managed to get +% \cs{fileversion} working, so I have get rid off rcs.sty again.} +% \changes{1.5}{2003 June 26}{Something happened to all |fi|.} +% \GetFileInfo{manuscript.dtx} +% \title{\bfseries \texttt{Manuscript}---A Package Emulating +% Typewriter ``Typesetting''} +% \author{Mat\v{e}j Cepl, \texttt{matej at ceplovi dot cz}} +% \date{This document describes package \texttt{manuscript}\\ +% version \fileversion, from \filedate} +% \maketitle +% \MakeShortVerb{\|} +% +% \changes{1.5}{2003 June 26}{Whole this section was +% substantially rewritten---coming from defensive to the +% offensive |:-)|.} +% \section{Purpose} +% Purpose of this package is to emulate appearance of the +% document written on classical typewriter as much as possible. +% So far, whenever backward requirement of some institutions +% (especially universities) to provide paper or thesis in the +% layout developed in times before personal computers emerges on +% any TeX-related public forum, it is met with strong (and +% sometimes even angry) resistance and many advises how to +% overcome resistance of the institution. I totally agree with +% the basic premise of this attempt (of course, \TeX\ was created +% for making ``masterpieces of typography''). +% +% Having said that, this package goes exactly in the opposite +% direction than these advises. Instead of trying to avoid +% typewriter-driven layout, it tries to emulate them as much as +% possible. Of course, the most important motivation for such +% package is challenge and curiosity how far I can get +% using just \TeX\ tools in this endeavor. However, there are +% also some real reasons why this package might be useful. First +% of all there are situations when the directives of backward +% layout are non-negotiable (e.\,g.,~in commercial setting or +% with too stiff university). Moreover, my conciliatory character +% leads me more to honor other cultures (and although very +% short-lived and feeble, there \emph{was} a typographical +% culture of typewriters) rather then rejecting them. Actually, +% during work on this package my appreciation of strict +% puritanical simplicity of typewriters typesetting just grew +% (and of course, it is obvious that in some aspects typesetting +% documents with this package would create documents of the +% quality never possible with the real typewriter---just \TeX{}'s +% optimal line breaking with few divided words makes a lot of +% difference). +% +% If you like it, enjoy! If not, sorry, just use another +% package. +% +% Another objective was to secure compatibility both with +% classical |article|-like packages as well as with packages from +% |Koma-script| family. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \section{The Coding} +% +% \begin{macro}{MS@ps} +% The first of all we need to create new condition |MS@ps| to +% control package options---whether font Courier should be used +% (if true) or |cmtt|. We cannot use |ifthen| package as it +% redefines catcodes and conflicts with the redefinition of +% quotes for |cmtt| font (see below). +% \begin{macrocode} +\newif\ifMS@ps +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DeclareOption} +% \begin{macro}{\ExecuteOptions} +% \begin{macro}{\ProcessOptions} +% Declare the options by setting |MS@ps| variable. The options +% |cm| and |cr| set use of font |cmtt| or Courier, respectively. +% We want to use Courier as default option. +% \begin{macrocode} +\DeclareOption{cm}{\MS@psfalse} +\DeclareOption{cr}{\MS@pstrue} +\ExecuteOptions{cr} +\ProcessOptions\relax +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% We need to read some additional packages which are needed for +% good working of the package: |setspace| because whole document +% should be doublespaced (except for footnotes etc.), |fontenc| +% because we should be able to print all European characters (it +% could be redefined in the document itself \emph{after} loading +% |manuscript| package, and |ragged2e| because of linebreaking +% and ragged justification. +% \begin{macrocode} +\RequirePackage{setspace} +\RequirePackage[T1]{fontenc} +\RequirePackage[NewCommands]{ragged2e} +\RequirePackage{soul} +% \end{macrocode} +% +% \begin{macro}{\rmdefault} +% \changes{1.5}{2003 June 26}{With CM-Super we need not \cs{ae} +% package anymore.} +% We need to set up the default font for Roman characters based +% on the boolean variable |MS@ps|. +% \begin{macrocode} +\ifMS@ps + \renewcommand{\rmdefault}{pcr} +\else + \renewcommand{\rmdefault}{cmtt} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\descfont} +% \begin{macro}{\sectfont} +% \changes{1.4}{2002 May 25}{Courier is better, so that this hack +% is better to be used only for \texttt{cmtt} font.} +% +% There is no bold in |cmtt|, so that I redefine also some +% fonts---usefull only for koma-script package, because I do not +% care too much for |article| |:-)|. +% \begin{macrocode} +\@ifundefined{scr@parskip}{}{% + \renewcommand*{\descfont}{\scshape} + \renewcommand*{\sectfont}{\large\scshape} } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\MS@q*} +% \begin{macro}{``} +% \begin{macro}{'} +% This is the most obscure part of the package.\footnote{I have +% recieved substantial help with the deep TeX work from +% Ond\v{r}ej ``Koala'' V\'acha. Thank you.} There are no problems +% with |Courier| font, but |cmtt| does not have some characters +% needed for normal writing---especially quotes. We have to +% change catcode of , and ` characters and redefine couples of +% these characters to be printed in |cmss| font in the Old +% Knuth's coding OT1. +% +% Moreover, and it was the bug in the previous version, we have +% to distinguish between single quote and double quote, where +% each of them should be printed as different character. Now, it +% is getting to be really messy |:-)|. +% +% \changes{1.5}{2003 June 26}{CM-Super fonts work even without +% this kludge.} +% \changes{1.4}{2002 May 22}{There is really no need to use +% \cs{gdef}, when \cs{def} is sufficient.} +% \changes{1.2}{2002 May 22}{Macro \cs{`} is protected. +% Unbelieavable construction in the \cs{change} changed to use +% \cs{cs} macro.} +% \changes{1.1}{2002/05/21}{Whole group of +% \cs{MS@*} macros in this section was added. The previous +% version did not allow use of single apostrophe.} +% \begin{macrocode} +\iffalse + \catcode96=13 + \def``{{\usefont{OT1}{cmss}{m}{n}\symbol{92}}} + \catcode39=13 + \def'{\protect\MS@quote} + \def\MS@quote{\futurelet \nextchar \MS@questquote} + \def\MS@questquote{\ifx `\nextchar \let\MS@next=\MS@dblq + \else \let\MS@next=\MS@sglq + \fi \MS@next} + \def\MS@dblq{{\usefont{OT1}{cmss}{m}{n}\symbol{125}}} + \def\MS@sglq{{\usefont{OT1}{cmss}{m}{n}\symbol{39}}} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\sfdefault} +% \begin{macro}{\ttdefault} +% Of course, in typewritter there are no different fonts for +% sans-serif characters and there is no distinction between +% normal and |tt| characters, thus both of these are set to be +% same as roman characters. +% \begin{macrocode} +\renewcommand{\sfdefault}{\rmdefault} +\renewcommand{\ttdefault}{\rmdefault} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \begin{macro}{typearea} +% Of course, typewritter should follow classical ``one inch on +% all sides'' margins (later, variant supporting European +% equivalent on A4 paper may be added). The best is to use +% special package |fullpage|. However, that does not work well +% with |koma-script| family of packages, there we have to +% distinguish between the two and use macro |\typearea| native of +% |koma-script|. +% \begin{macrocode} +\@ifundefined{typearea} + {\RequirePackage{fullpage}} + {\typearea[0pt]{13}} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\textbf} +% \begin{macro}{\bfseries} +% \begin{macro}{\emph} +% \begin{macro}{\em} +% Italic characters are not enough distinctive in |cmtt| font, so +% we shall redefine macro |\emph| to be same as in the +% typewritter age---underlining characters. +% \changes{1.5}{2003 June 26}{It is handy redefine |em| as +% well---thanks to Petr Ol\v{s}\'ak for this. Also redefine +% bold to small caps.} +% \begin{macrocode} +\renewcommand{\textbf}[1]{\textsc{#1}} +\def\bfseries{\scshape} + +\setul{0.3ex}{0.15ex} +\renewcommand{\emph}[1]{\ul{#1}} +\def\em{\egroup \expandafter \ul \expandafter{\iffalse}\fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} + +% \begin{macro}{\spaceskip} +% There are some additional characteristics which should be +% set-up emulating behavior of typewritter: footnotes should be +% set in the normal-size font, document should be double-spaced, +% ragged right. Space between characters have to be set via +% |\spaceskip|---it is zero on default for |tt| fonts. +% \begin{macrocode} +\let\footnotesize\@empty +\doublespacing +\AtBeginDocument{% + \raggedright + \parindent 1em + \spaceskip .333333 em plus .333333 em minus .111111 em } +% \end{macrocode} +% \end{macro} +% + +% \begin{macro}{\thefootnote} +% \begin{macro}{\@makefnmark} +% \begin{macro}{\@makefntext} +% If the idea of the whole package is to emulate typewriter +% style, then we have to do something about footnotes. There is +% obviously nothing like superscripted footnote mark on +% typewriters. Moreover, I have also changed indentation of the +% body of footnote. +% +% \changes{1.5}{2003 June 26}{Whole redefinition of footnotes +% added.} +% \begin{macrocode} +\def\thefootnote{\@arabic\c@footnote/} +\def\@makefnmark% + {\hbox{\normalfont\@thefnmark}} +\renewcommand\@makefntext[1]{% + \leftskip 1.8em \noindent + \llap{\normalfont\@thefnmark\ }#1}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@maketitle} +% \changes{1.5}{2003 June 26}{When \cs{titlepage} option is on, +% we need not singlespacing.} +% The standard titlehead of the document is really ugly when +% doublespaced. Therefore we should redefine |\@maketitle| macro. +% However, the trick below (creation of new macro which envelopes +% the original macro) is better, because it is compatible both +% with standard |article|-like classes and |koma-script| family. +% Redefinition of |\huge| is a kind of ugly hack, but it should +% be enough robust and simple to be OK. +% \begin{macrocode} +\let\MS@maketitle=\@maketitle + \if@titlepage + \def\@maketitle{% + \hyphenpenalty=5000 + \let\huge\LARGE + \MS@maketitle } + \else + \def\@maketitle{% + \singlespacing + \hyphenpenalty=5000 + \let\huge\LARGE + \MS@maketitle } + \fi +% \end{macrocode} +% \end{macro} +% +% That's all folks! |:-)| +% \Finale +%\iffalse +% +%\fi diff --git a/Master/texmf-dist/source/latex/manuscript/manuscript.ins b/Master/texmf-dist/source/latex/manuscript/manuscript.ins new file mode 100644 index 00000000000..e77ecf7078e --- /dev/null +++ b/Master/texmf-dist/source/latex/manuscript/manuscript.ins @@ -0,0 +1,14 @@ +\def\batchfile{manuscript.ins} +\input docstrip.tex + +\preamble +This is a stripped version of the original file. +\endpreamble + +\postamble +This is the end of the stripped file. +\endpostamble + +\generateFile{manuscript.sty}{f}{\from{manuscript.dtx}{package}} +\generateFile{manuscript.drv}{f}{\from{manuscript.dtx}{driver}} + -- cgit v1.2.3