X-Git-Url: http://git.tpope.net/?p=latex-mlastyle.git;a=blobdiff_plain;f=mlastyle.dtx;h=a36447ba96cd8b64badf27b67ad4ef82e60ae16e;hp=d70be821ebcb279f81b6b69bb529b8e8f60ecb3c;hb=bf44439596cc2255a442b423bfbb57d7c84909b7;hpb=8b116f969b8cd1d1365f7c6551a1ee17ccee970c diff --git a/mlastyle.dtx b/mlastyle.dtx index d70be82..a36447b 100644 --- a/mlastyle.dtx +++ b/mlastyle.dtx @@ -21,19 +21,61 @@ % [2003/11/09 v0.9 MLA format and documentation style] % %<*driver> +\begin{filecontents}{mlastyle.bib} +@PREAMBLE{"\def\BibTeX{\rmfamily B\kern -.05em\textsc {i\kern -.025emb}\kern -.08emT\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}"} + +@BOOK{handbook, + AUTHOR = "Joseph Gibaldi", + TITLE = "MLA Handbook for Writers of Research Papers", + KEY = "MLA Handbook", + EDITION = "Sixth", + ADDRESS = "New York", + PUBLISHER = "MLA", + YEAR = "2003"} + +@BOOK{latexdps, + AUTHOR = "Leslie Lamport", + TITLE = "{\LaTeX}: A Document Preparation System", + KEY = "{\LaTeX}", + EDITION = "Second", + ADDRESS = "Reading", + PUBLISHER = "Addison-Wesley", + YEAR = "1994"} + +@MANUAL{lshort, + AUTHOR = "Tobias Oetker and Hubert Partl and Irene Hyna and Elisabeth +Schlegl", + TITLE = "The Not So Short Introduction to {\LaTeXe}", + KEY = "Not So Short", + YEAR = "2000", + MONTH = dec, + VERSION = "4.0", + ACCESSDATE = "1~"#nov#"~2003", + URL = "CTAN://info/lshort/"} + +@MANUAL{btxdoc, + AUTHOR = "Oren Patashnik", + TITLE = "{\BibTeX ing}", + YEAR = "1988", + MONTH = feb, + ACCESSDATE = "1~"#nov#"~2003", + URL = "CTAN://biblio/bibtex/distribs/doc/btxdoc.tex"} +\end{filecontents} \documentclass[draft]{ltxdoc} -\iftrue - \usepackage[compat]{mlastyle} - \addtolength{\headsep}{-5pt} - %\addtolength{\headheight}{-12pt} - \addtolength{\topmargin}{-17pt} - \addtolength{\textheight}{22pt} - \IfFileExists{ulem.sty}{\usepackage[normalem]{ulem}}{\let\uline\emph} -\else +\iffalse \usepackage[mla]{mlastyle} + \bibliographystyle{mlastyle} \addtolength{\marginparwidth}{1in} \addtolength{\textwidth}{-1in} \addtolength{\headwidth}{-1in} +\else + \usepackage[compat]{mlastyle} + \bibliographystyle{plain} + %\addtolength{\headsep}{-5pt} + %\addtolength{\headheight}{-12pt} + %\addtolength{\topmargin}{-17pt} + %\addtolength{\textheight}{22pt} + \IfFileExists{ulem.sty}{\usepackage[normalem]{ulem}}{\let\uline\emph} \fi \IfFileExists{times.sty}% {\newcommand{\examp}[2][]{{\let\emph\uline\fontfamily{ptm}\selectfont##2}##1}}% @@ -104,6 +146,7 @@ % \DoNotIndex{\G@refundefinedtrue} % \DoNotIndex{\ProcessOptions} % \DoNotIndex{\RequirePackage} +% \DoNotIndex{\UL@start,\UL@stop} % \DoNotIndex{\addtolength} % \DoNotIndex{\advance} % \DoNotIndex{\baselineskip} @@ -121,6 +164,7 @@ % \DoNotIndex{\def} % \DoNotIndex{\do} % \DoNotIndex{\edef} +% \DoNotIndex{\egroup} % \DoNotIndex{\else} % \DoNotIndex{\end} % \DoNotIndex{\endcsname} @@ -257,12 +301,19 @@ % \surname{Pope} % % \maketitle +% % \tableofcontents % % \section{Introduction} % -% MLA style, consisting of a set of documentation conventions, has -% gained widespread acceptance in the humanities. \LaTeX{} is a +% ^^A MLA style, consisting of a set of documentation conventions, has +% ^^A gained widespread acceptance in the humanities. +% According to the {\em MLA Handbook for Writers of Research +% Papers}\citeC{handbook}, MLA style is a set of ``commonly agreed-on +% rules for documenting quotations, facts, opinions and paraphrases'' that +% ``is preferred by a substantial majority of scholarly journals in +% language and literature{\makeatletter\ifmlastyle@style +% .''\citeM[xvi]{handbook}\else.''\fi} \LaTeX{} is a % document preparation system enjoying popularity in the scientific field. % It should come as no surprise that complete, up-to-date implementations % of MLA style for \LaTeX{} are in short supply. The \LaTeX{} package @@ -279,7 +330,7 @@ %\instructor{Professor Smith} %\course{English 101} %\date{1~Jan.\ 1970} -%\title{The Inherent Sadism of Compulsory English Classes} +%\title{The Sadism Inherent in Compulsory English Classes} % %\begin{document} %\maketitle @@ -340,9 +391,10 @@ % \package{mlastyle}. % % \subsubsection{Italics vs.\ Underlining} \index{underlining|usage} -% \index{italics|usage} -% MLA format dictates that emphasis should be indicated by underlining the -% text. Thus, the \package{ulem} package, which underlines all emphasized +% \index{italics|usage}\label{sec:italics} +% The {\em MLA Handbook\/}\citeC{handbook} dictates that emphasis should +% be indicated by underlining the text\citeM[94]{handbook}. Thus, the +% \package{ulem} package, which underlines all emphasized % text, is loaded by default in \Lopt{mla} and \Lopt{format} modes. To % disable this, use the \OptionIndex{italics}\Lopt{italics} option. % Conversely, if underlining is desired in \Lopt{style} or \Lopt{compat} @@ -369,16 +421,15 @@ %\begin{verbatim} %\begin{thebibliography}{} % -%\bibitem[Lamport]{latex} +%\bibitem[Lamport]{latexdps} %Lamport, Leslie. -%\newblock {\em \LaTeX: A Document Preparation System}. +%\newblock \emph{\LaTeX: A Document Preparation System}. %\newblock 2nd.~ed. %\newblock Reading: Addison-Wesley, 1994. % %\end{thebibliography}\end{verbatim} -% % In this example, |Lamport| is the author's last name (for use in -% citations) and |latex| is the marker used to reference it (see +% citations) and |latexdps| is the marker used to reference it (see % section~\ref{sec:parenthetical}). % % For information on automatically generating the list of works cited with @@ -400,12 +451,13 @@ % Three additional citation commands are provided, all of which take the % same arguments as |\cite|. To omit the author information from the % citation, use \DescribeMacro{\citepage}|\citepage|. Indirect -% citations---those of the format \examp{(qtd. in Brown 6)}---can be +% citations---those of the format \examp{(qtd. in Pope +% \pageref{sec:italics})}---can be % created with \DescribeMacro{\citeindirect}|\citeindirect|. Finally, the % parentheses are omitted by \DescribeMacro{\citeN}|\citeN|. This was % intended for use in cross references, but it can also help in citing % multiple works. The result of -% |(\citeN[42]{knuth}|\texttt{; }|\citeN[69]{lamport})| +% |(\citeN[42]{texbook}|\texttt{; }|\citeN[69]{latexdps})| % would be something like \examp[.]{(Knuth 42; Lamport 69)} % % \subsubsection{Using {\rm \BibTeX}} \label{sec:bibtex} @@ -419,30 +471,36 @@ % and \Lopt{style} modes and a bibliography style of |plain| in % \Lopt{format} and \Lopt{compat} modes. % -% Use of \BibTeX{} is also beyond the scope of this document; instead, -% another example is provided. To use it, substitute +% Use of \BibTeX{} is also beyond the scope of this document; consult +% Patashnik\citeC{btxdoc} for an introduction. +% Briefly, to use the following example, substitute % |\bibliography|\marg{filename} for the |thebibliography| environment. % Then create \meta{filename}\file{.bib} with the contents below. % Generating the document entails running \file{latex} on the \file{.tex} % file, \file{bibtex} on the resulting \file{.aux} file, then \file{latex} % twice more. %\begin{verbatim} -%@BOOK{latex, +%@BOOK{latexdps, % AUTHOR = "Leslie Lamport", -% TITLE = "\LaTeX: A Document Preparation System", -% KEY = "\LaTeX", +% TITLE = "{\LaTeX}: A Document Preparation System", +% KEY = "{\LaTeX}", % EDITION = "Second", % ADDRESS = "Reading", % PUBLISHER = "Addison-Wesley", % YEAR = "1994"}\end{verbatim} +% % In \package{mlastyle}, The |KEY| field serves the additional purpose of % specifying an abbreviated title. This is unnecessary in the above % example. If an additional book by Leslie Lamport was included, however, -% the |KEY| field would allow |\cite{lamport}| to yield \examp{(Lamport, -% \emph{\LaTeX\/})} instead of \examp[.]{(Lamport, \emph{\LaTeX: A Document -% Preparation System\/})} +% the |KEY| field would allow |\cite{latexdps}| to yield \examp{(Lamport, +% \emph{\LaTeX\/})} instead of \examp[.]{(Lamport, \emph{\LaTeX: A +% Doc\-um\-ent Pre\-pa\-ra\-tion Sys\-tem\/})} +% +% Note that only entries referenced by a citation are included in the list +% of works cited; to force the inclusion of an entry or all entries, use +% |\nocite|\marg{marker} and |\nocite{*}|, respectively. % -% \StopEventually{\PrintChanges\PrintIndex} +% \StopEventually{\PrintChanges\bibliography{mlastyle}\PrintIndex} % % \section{Implementation} % \begin{macrocode} @@ -593,6 +651,7 @@ % \end{macro} % \begin{macro}{\section} % \begin{macro}{\subsection} +% \begin{macro}{\subsubsection} % Sections are formatted by centering the section name and beginning a new % page. Subsections simply center the section name. % \begin{macrocode} @@ -607,6 +666,7 @@ % ^^A\def\verbatim@font{\mlastyle@qspread\mlastyle@vfont} % \end{macro} % \end{macro} +% \end{macro} % \subsubsection{Environments} % ^^A%\newenvironment{blocks}{\begin{quote} \linespread{1} \selectfont}{\end{quote} \linespread{2} \small \selectfont} % ^^A%\newenvironment{blockm}{\begin{quotation} \linespread{1} \selectfont}{\end{quotation} \linespread{2} \selectfont} @@ -750,27 +810,29 @@ % \begin{macrocode} { \def\thebibliography#1{\newpage\section*{\refname} \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}} - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \itemindent-\leftmargin - \def\newblock{} - \usecounter{enumiv} - \sloppy%\sfcode`\.=1000\relax - \catcode`/=13\let/=\mlastyle@slash}} + {\settowidth\labelwidth{\@biblabel{#1}}} + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \itemindent-\leftmargin + \def\newblock{} + \usecounter{enumiv} + %\catcode`\/=13\global\let/=\mlastyle@slash + \sloppy%\sfcode`\.=\@m + }} % \end{macrocode} % Report/book class. % \begin{macrocode} { \def\thebibliography#1{\chapter*{\bibname} \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}} - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \itemindent-\leftmargin - \def\newblock{} - \usecounter{enumiv} - \sloppy%\sfcode`\.=1000\relax - \catcode`/=13\let/=\mlastyle@slash}} + {\settowidth\labelwidth{\@biblabel{#1}}} + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \itemindent-\leftmargin + \def\newblock{} + \usecounter{enumiv} + %\catcode`/=13\let/=\mlastyle@slash + \sloppy%\sfcode`\.=\@m + }} % \end{macrocode} % \end{environment} % \begin{macrocode} @@ -801,6 +863,7 @@ % \end{macrocode} % \end{macro} % \subsubsection{MLA Style} +% \begin{macro}{\@cite} % \begin{macro}{\citeM} % If the \Lopt{mla} or \Lopt{style} options are used, the following is % executed. @@ -823,6 +886,7 @@ \let\citeC\mlastyle@relax % \end{macrocode} % \end{macro} +% \end{macro} % \iffalse % Place commas in-between citations in the same |\citeyear|, |\citeyearNP|, % |\citeN|, or |\shortciteN| command. @@ -900,7 +964,7 @@ \let\cite\mlastyle@cite \let\citepage\mlastyle@cite \let\citeindirect\mlastyle@cite - \newcommand{\citeC}[2][]{ \@tempswafalse\@citex[]{#2}} + \newcommand{\citeC}[2][]{~\@tempswafalse\@citex[]{#2}} \let\citeM\mlastyle@relax \let\citepageM\mlastyle@relax \let\citeindirectM\mlastyle@relax