texlive[43704] Master/texmf-dist: covington (6Apr)
commits+preining at tug.org
commits+preining at tug.org
Thu Apr 6 02:29:11 CEST 2017
Revision: 43704
http://tug.org/svn/texlive?view=revision&revision=43704
Author: preining
Date: 2017-04-06 02:29:09 +0200 (Thu, 06 Apr 2017)
Log Message:
-----------
covington (6Apr)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/covington/README
trunk/Master/texmf-dist/doc/latex/covington/covington.pdf
trunk/Master/texmf-dist/doc/latex/covington/covington.tex
trunk/Master/texmf-dist/tex/latex/covington/covington.sty
Modified: trunk/Master/texmf-dist/doc/latex/covington/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/covington/README 2017-04-06 00:28:00 UTC (rev 43703)
+++ trunk/Master/texmf-dist/doc/latex/covington/README 2017-04-06 00:29:09 UTC (rev 43704)
@@ -33,6 +33,14 @@
== CHANGES ==
+* Version 1.3 (2017-04-05):
+
+ - Gloss variants \xgll and \xglll that work inside macros (such as footnotes)
+ but require explicit gloss line end markers (\xgle).
+
+ - Provide way to globally alter indentation and vertical distance of reflists
+ (new lengths \reflistindent, \reflistparsep and \reflistitemsep).
+
* Version 1.2 (2016-08-26):
- New length \examplenumbersep to adjust (increase) the horizontal space
Modified: trunk/Master/texmf-dist/doc/latex/covington/covington.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/covington/covington.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/covington/covington.tex 2017-04-06 00:28:00 UTC (rev 43703)
+++ trunk/Master/texmf-dist/doc/latex/covington/covington.tex 2017-04-06 00:29:09 UTC (rev 43704)
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% File covington.tex
%%
-%% Documentation of covington.sty
+%% Documentation of covington
%%
%% This file is part of the covington LaTeX package
%%
@@ -53,7 +53,7 @@
colorlinks=false
]{hyperref}
\hypersetup{%
- pdftitle={The covington.sty manual},
+ pdftitle={The covington manual},
pdfauthor={J\xFCrgen Spitzm\xFCller},
pdfkeywords={latex,linguistics}
}
@@ -83,22 +83,20 @@
\newcommand*\jfenv[1]{\texttt{#1}}
\newcommand*\jfcsmacro[1]{\jfmacro{\textbackslash{#1}}}
+% Strings
+\newcommand*{\cvt}{\textsf{covington}}
+
%
% Titling
%
-\def\pversion{Version 1.2}
-\def\pdate{August 26, 2016}
+\def\pversion{Version 1.3}
+\def\pdate{April 5, 2017}
-\title{\textbf{Typing Linguistics with \texttt{covington.sty}}}
-\author{Michael A. Covington \\
- \small Artificial Intelligence Center \\
- \small The University of Georgia \\
- \small Athens, Georgia 30602 \textsc{u.\,s.\,a.}\\
- mcovingt at ai.uga.edu\\
- \url{http://www.ai.uga.edu/~mc}}
+\title{\textbf{The \cvt\ Package\\Macros for Linguistics}}
+\author{Michael A. Covington \and J\"urgen Spitzm\"uller\thanks{Current maintainer.
+ Please report issues via \protect\url{https://github.com/jspitz/covington}}}
-\date{\pversion, \pdate\thanks{Current maintainer: J\"urgen Spitzm\"uller.
- Please report issues via \protect\url{https://github.com/jspitz/covington}}}
+\date{\pversion, \pdate}
\begin{document}
@@ -105,7 +103,7 @@
\maketitle
\begin{abstract}
-\noindent This package, initially a collection of Michael Covington's private macros, provides
+\noindent This package, initially a collection of Michael A. Covington's private macros, provides
numerous minor \LaTeX\ enhancements for linguistics, including multiple accents on the
same letter, interlinear glosses (word-by-word translations), Discourse Represenation Structures,
and example numbering. The package works both with \LaTeX\ 2.09 and \LaTeXe.
@@ -116,22 +114,22 @@
\section{Introduction}
-This file, \texttt{covington.tex}, is the documentation for \MakeLowercase{\pversion}
-of \texttt{covington.sty} (\pdate), which is a \LaTeX\ package providing macros
+This file is the documentation for \MakeLowercase{\pversion}
+of \cvt\ (\pdate), which is a \LaTeX\ package providing macros
for typing some special notations common in linguistics.%
\footnote{The package has a long history. It started off as a collection of private macros back in the
\LaTeX\ 2.09 days and was initially released as \texttt{covingtn.sty} (following the old 8.3 \textsc{fat}
file name limit). In em\TeX\ under \textsc{ms-dos}, the file was distributed as \texttt{covingto.sty}.
-Eventually, it has been renamed to \texttt{covington.sty} and adapted to \LaTeXe. Its \LaTeX\ 2.09 traces
+Eventually, it has been renamed to \cvt\ and adapted to \LaTeXe. Its \LaTeX\ 2.09 traces
are however still visible, and the style should actually still work with \LaTeX\ 2.09 (if not, drop us a note).}
-To use \texttt{covington.sty} with \LaTeXe, simply add the command
+To use \cvt\ with \LaTeXe, simply add the command
\lstinline"\usepackage{covington}" to your document preamble.
\begin{quote}
\footnotesize
In \LaTeX\ 2.09,
- include \texttt{covington} among the optional parameters of
+ include \cvt\ among the optional parameters of
\lstinline"\documentstyle", as in:\\
\lstinline"\documentstyle[12pt,"\underline{covington}\verb"]{article}"
\end{quote}
@@ -139,17 +137,17 @@
\begin{itemize}
\item \joption{force}: Force the redefinition of environments that are already defined. This applies to
the \jenv{example}, \jenv{examples} and \jenv{exercise} environments, which are by default not touched if they
-are already defined before \texttt{covington} is loaded. See sec.~\ref{sec:ex}, \ref{sec:exs} and \ref{sec:exercises}
+are already defined before \cvt\ is loaded. See sec.~\ref{sec:ex}, \ref{sec:exs} and \ref{sec:exercises}
for details.
\end{itemize}
-
+%
In what follows we presume that you know how to use \LaTeX\ and have
-access to \LaTeX\ manuals. Note that \texttt{covington.sty} does not
+access to \LaTeX\ manuals. Note that \cvt\ does not
provide any special fonts or character sets. However, it can be used in
combination with other style sheets that do.
-If you are using \texttt{covington.sty} and \texttt{uga.sty} (UGa thesis style)
-together, you should load \texttt{uga} before \texttt{covington}.
+If you are using \cvt\ and \texttt{uga.sty} (UGa thesis style)
+together, you should load \texttt{uga} before \cvt.
\section{Stacked accents}\label{sec:accents}
@@ -174,7 +172,7 @@
\end{lstlisting}
But out of the box, \LaTeX\ doesn't give you a convenient way to put \emph{two}
-accents on the same letter. To fill this gap, \texttt{covington.sty} provides
+accents on the same letter. To fill this gap, \cvt\ provides
the following macros:
\begin{flushleft}
\jcsmacro{twoacc[\ldots|\ldots]} \quad to combine any two accents, e.\,g.,
@@ -260,12 +258,12 @@
the length \jcsmacro{examplenumbersep} (which is preset to \texttt{0pt}). Doing \lstinline|\setlength\examplenumbersep{1em}|,
for instance, will increase the space by 1\,em.
-Note that, as of version 1.1, \texttt{covington} checks if there is already an \jenv{example} environment defined
-(e.\,g., by the class). If so, \texttt{covington} does not
+Note that, as of version 1.1, \cvt\ checks if there is already an \jenv{example} environment defined
+(e.\,g., by the class). If so, \cvt\ does not
define its own one. However, there is always the alias environment \jenv{covexample} which can be used in order to
-produce \texttt{covington's} example. If you use the package option \joption{force}, \texttt{covington} will override
+produce \texttt{covington's} example. If you use the package option \joption{force}, \cvt\ will override
existing \jenv{example} environments. In any case, the package will issue a warning if \jenv{example} is already defined
-(this is the case, for instance, if you use \texttt{covington} with the \texttt{beamer} class).
+(this is the case, for instance, if you use \cvt\ with the \texttt{beamer} class).
One way to number sub-examples is to use \jfenv{itemize} or \jfenv{enumerate}
within an example, like this:
@@ -311,15 +309,15 @@
\item This is the first sentence.
\item This is the second sentence.
\end{examples}
-As for \jenv{example}, \texttt{covington} checks if there is already an \jenv{examples} environment defined,
-and if this is the case, \texttt{covington} does not define its own one. The alias environment \jenv{covexamples}
-is always available as a fallback. If you use the package option \joption{force}, \texttt{covington} will override
+As for \jenv{example}, \cvt\ checks if there is already an \jenv{examples} environment defined,
+and if this is the case, \cvt\ does not define its own one. The alias environment \jenv{covexamples}
+is always available as a fallback. If you use the package option \joption{force}, \cvt\ will override
existing \jenv{examples} environments. The package will issue a warning if \jenv{examples} is already defined
-(this is the case, for instance, if you use \texttt{covington} with the \texttt{beamer} class), telling you
+(this is the case, for instance, if you use \cvt\ with the \texttt{beamer} class), telling you
how it has dealt with the situation.
-\section{Glossing sentences word-by-word}
+\section{Glossing sentences word-by-word}\label{sec:gloss}
To gloss a sentence is to annotate it word-by-word. Most commonly, a
sentence in a foreign language is followed by a word-for-word
@@ -353,14 +351,25 @@
\glt `This is a little example in Dutch.'
\glend
\end{lstlisting}
-All together, \texttt{covington.sty} provides five macros for dealing with
+Note that \cvt\ locally activates the end of line in glosses in order to identify the different lines of the gloss (via category code change). This does not work inside macros (e.\,g., if the gloss is in a footnote). To work around this, a special version of the \jcsmacro{gll} macro is provided that does without the character activation: \jcsmacro{xgll}. This can also be used in macro arguments; however, the end of each gloss line needs to be explicitly specified by the \jcsmacro{xgle} macro in this case. If you want to put the above gloss in a footnote, thus, you would type:
+\begin{lstlisting}[moretexcs={xgll,xgle,glt,glend}]
+\xgll Dit is een voorbeeldje in het Nederlands.\xgle
+ This is a {little example} in {} Dutch.\xgle
+\glt `This is a little example in Dutch.'
+\glend
+\end{lstlisting}
+%
+All together, \cvt\ provides eight macros for dealing with
glosses:
\begin{itemize}
\item \jcsmacro{gll} introduces two lines of words vertically aligned, and
-activates an environment very similar to \jfenv{flushleft}.
+activates an environment very similar to \jfenv{flushleft}. The two lines are separated by a normal line break (carriage return).
\item \jcsmacro{glll} is like \jcsmacro{gll} except that it introduces
\emph{three} lines of lined-up words (useful for cited forms, morphology,
and translation).
+\item \jcsmacro{xgll} is similar to \jcsmacro{gll} except that it does not make the line ending active. It thus works inside macros such as footnotes but requires explicit gloss line termination via \jcsmacro{xgle}.
+\item \jcsmacro{xglll} is similar to \jcsmacro{glll} except that it does not make the line ending active. It thus works inside macros such as footnotes but requires explicit gloss line termination via \jcsmacro{xgle}.
+\item \jcsmacro{xgle} is a gloss line ending marker to be used with \jcsmacro{xgll} and \jcsmacro{xglll}.
\item \jcsmacro{glt} ends the set of lined-up lines and introduces a line
(or more) of translation.
\item \jcsmacro{gln} is like \jcsmacro{glt} but does not start a new line
@@ -463,7 +472,7 @@
\section{Discourse Representation Structures}
-Several macros in \texttt{covington.sty} facilitate display of discourse
+Several macros in \cvt\ facilitate display of discourse
Representation Structures (\textsc{drs}es) in the box notation introduced by
Hans Kamp. The simplest one is \jcsmacro{drs}, which takes two arguments:
a list of discourse variables joined by \verb"~", and a list of \textsc{drs}
@@ -564,13 +573,13 @@
\end{lstlisting}
The argument (\verb"[Project]" in the example) is optional.
-Note that, as of version 1.1, \texttt{covington} checks if there is already an \jenv{exercise} environment
-defined (e.\,g., by the class). If so, \texttt{covington} does not define its own one. However, there is always
+Note that, as of version 1.1, \cvt\ checks if there is already an \jenv{exercise} environment
+defined (e.\,g., by the class). If so, \cvt\ does not define its own one. However, there is always
the alias environment \jenv{covexercise} which can be used in order to produce \texttt{covington's} exercise.
-If you use the package option \joption{force}, \texttt{covington} will override existing \jenv{exercise}
+If you use the package option \joption{force}, \cvt\ will override existing \jenv{exercise}
environments. In any case, the package will issue a warning if \jenv{exercise} is already defined.
-\section{Reference Lists}
+\section{Reference Lists}\label{sec:reflists}
To type a simple \textsc{lsa}-style hanging-indented reference list, you can use the \jenv{reflist}
environment. (\emph{Note:} \jenv{reflist} is not integrated with Bib\TeX\ in any way.%
@@ -608,6 +617,14 @@
Covington, Michael A. 1993. Natural language processing for Prolog
programmers. Englewood Cliffs, New Jersey: Prentice-Hall.
\end{reflist}
+By default, the references have a hanging indentation of 3\,em. This can
+be globally changed by altering the length \jcsmacro{reflistindent}.
+Doing \lstinline|\setlength\reflistindent{1.5em}|, for instance,
+will shorten the indentation by half. Likewise, the length \jcsmacro{reflistitemsep}
+(6\,pt by default) and \jcsmacro{reflistparsep} (ca. 4\,pt by default) can be adjusted
+to alter the vertical separation (\jfcsmacro{itemsep} and \jfcsmacro{parsep}, for that
+matter) of reference entries.
+
Notice that within the reference list, ``French spacing'' is in effect
--- that is, spaces after periods are no wider than normal spaces. Thus
you do not have to do anything special to avoid excessive space after
@@ -637,7 +654,7 @@
\end{flushleft}
That's all there is for now.
-Suggestions for improving \texttt{covington.sty} are welcome, and bug
+Suggestions for improving \cvt\ are welcome, and bug
reports are actively solicited (via \url{https://github.com/jspitz/covington}). Please note, however, that this is free
software, and the authors make no commitment to do any further work on
it.
@@ -644,6 +661,18 @@
\section{Release history}
+\subsection*{1.3 (2017 April 5)}
+
+\begin{itemize}
+ \item Gloss variants \jcsmacro{xgll} and \jcsmacro{xglll} that work
+ inside macros (such as footnotes) but require explicit gloss
+ line end markers (\jcsmacro{xgle}). See sec.~\ref{sec:gloss} for details.
+ \item New lengths \jcsmacro{reflistindent}, \jcsmacro{reflistparsep} and
+ \jcsmacro{reflistitemsep} to globally adjust the indentation or vertical
+ space, respectively, of reflist items.
+ See sec.~\ref{sec:reflists} for details.
+\end{itemize}
+
\subsection*{1.2 (2016 August 26)}
\begin{itemize}
@@ -664,7 +693,7 @@
\item The package now uses \textsc{nfss} font commands if available (fallback for \LaTeX\ 2.09 is still provided).
\item Work around clash with classes\slash packages that define their own \jenv{example} and
\jenv{examples} environments (most notably the \texttt{beamer} class) as well as \jenv{execise} environments.
- The \texttt{covington} package no longer blindly attempts to define these environments. By default, it does not
+ The \cvt\ package no longer blindly attempts to define these environments. By default, it does not
define them if they are already defined (\texttt{covington's} own environments, however, are still available via aliases).
By means of a new package option, a redefinition can also be forced. See sec.~\ref{sec:ex} and \ref{sec:exs} for details.
\item New length \jcsmacro{twoaccsep} allows for the adjustment of the distance between stacked accents (see sec.~\ref{sec:accents}).
@@ -695,7 +724,7 @@
\begin{itemize}
\item Multiple accents on a single letter (e.\,g., \emph{\acm{a}}) are supported.
- \item This package is now called \texttt{covington} (with the o)
+ \item This package is now called \cvt\ (with the o)
and is compatible with \LaTeXe\ and \textsc{nfss} as well as \LaTeX\ 2.09.
\item The vertical placement of labeled feature structures has
been changed
@@ -705,7 +734,7 @@
\begin{thebibliography}{99}
\bibitem{pakin} Pakin, Scott. The Comprehensive \LaTeX\ Symbol List.
- 30 November 2015. \url{http://www.ctan.org/tex-archive/info/symbols/comprehensive}.
+ 30 November 2015. \url{http://www.ctan.org/pkg/comprehensive}.
\end{thebibliography}
\end{document}
Modified: trunk/Master/texmf-dist/tex/latex/covington/covington.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/covington/covington.sty 2017-04-06 00:28:00 UTC (rev 43703)
+++ trunk/Master/texmf-dist/tex/latex/covington/covington.sty 2017-04-06 00:29:09 UTC (rev 43704)
@@ -42,8 +42,8 @@
%%% Metadata
%%%
-\def\filedate{2016/08/26}
-\def\fileversion{1.2}
+\def\filedate{2017/04/05}
+\def\fileversion{1.3}
\def\filename{covington.sty}
% Force redefinition of environments?
@@ -227,7 +227,7 @@
%%% Sentences with word-by-word glosses
%%%
-% See covingtn.tex for full documentation. Some examples:
+% See covington.tex for full documentation. Some examples:
%
% Displayed sentence with gloss and translation:
%
@@ -294,6 +294,33 @@
\threesent
}
+
+% The following two \x.. versions introduce special forms of glossing
+% macros that do not activate the newline char. The latter does not
+% work inside arguments (see http://tex.stackexchange.com/questions/169740)
+% Inspired by this post of David Carlisle to the mentioned stackexchange thread:
+% http://tex.stackexchange.com/a/169744/19291
+% These macros require the gloss lines to be ended explicitly with \xgle
+\def\xgll % Introduces 2-line text-and-gloss.
+ {\begin{flushleft}
+\vskip\baselineskip% % Added 1992 Nov 8 to force single spacing
+\def\baselinestretch{1}%
+\cov at selfnt%
+\vskip-\baselineskip%
+ \bgroup
+ \ignorespaces\xtwosent
+ }
+
+\def\xglll % Introduces 3-line text-and-gloss.
+ {\begin{flushleft}
+\vskip\baselineskip% % Added 1992 Nov 8 to force single spacing
+\def\baselinestretch{1}%
+\cov at selfnt%
+\vskip-\baselineskip%
+ \bgroup
+ \ignorespaces\xthreesent
+ }
+
\def\glt{{\hskip -\glossglue}\unhbox\gline\smallskip\newline} % \newline was \\
% Introduces translation.
% Required even if no translation follows.
@@ -409,6 +436,63 @@
}
} % restore \catcode`\^^M
+% An explicit gloss line ending (for \xgll and \xglll variants=
+\gdef\xgle{}
+% Special versions of \getwords, \donewords, \twosent and \threesent for the \x..
+% variants of gloss introducers (using \xgle as separator instead of active newline)
+\gdef\xgetwords(#1,#2)#3 #4\xgle% #1=linebox, #2=\each, #3=1st word, #4=remainder
+ {\setbox#1=\vbox{\hbox{#2\strut#3 }% adds space
+ \unvbox#1%
+ }%
+ \def\more{#4}%
+ \ifx\more\empty\let\more=\xdonewords
+ \else\let\more=\xgetwords
+ \fi
+ \more(#1,#2)#4\xgle%
+ }
+
+\gdef\xdonewords(#1,#2)\xgle{}%
+
+\gdef\xtwosent#1\xgle#2\xgle% #1 = first line, #2 = second line
+ {\xgetwords(\lineone,\eachwordone)#1 \xgle%
+ \xgetwords(\linetwo,\eachwordtwo)#2 \xgle%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ }
+
+\gdef\xthreesent#1\xgle#2\xgle#3\xgle% #1 = first line, #2 = second line, #3 = third
+ {\xgetwords(\lineone,\eachwordone)#1 \xgle%
+ \xgetwords(\linetwo,\eachwordtwo)#2 \xgle%
+ \xgetwords(\linethree,\eachwordthree)#3 \xgle%
+ \loop\lastword{\eachwordone}{\lineone}{\wordone}%
+ \lastword{\eachwordtwo}{\linetwo}{\wordtwo}%
+ \lastword{\eachwordthree}{\linethree}{\wordthree}%
+ \global\setbox\gline=\hbox{\unhbox\gline
+ \hskip\glossglue
+ \vtop{\box\wordone % vtop was vbox
+ \nointerlineskip
+ \box\wordtwo
+ \nointerlineskip
+ \box\wordthree
+ }%
+ }%
+ \testdone
+ \ifnotdone
+ \repeat
+ \egroup % matches \bgroup in \gloss
+ }
+
%\def\gloss % raw TeX macro for 2 aligned lines
% {\bgroup
% \catcode`\^^M=12
@@ -612,14 +696,21 @@
\fi
}
+\newlength\reflistindent
+\setlength\reflistindent{3em}
+\newlength\reflistitemsep
+\setlength\reflistitemsep{6pt}
+\newlength\reflistparsep
+\setlength\reflistparsep{\parsep}
\@ifundefined{reflist}{
\newenvironment{reflist}{\begin{list}{}%
{\setlength{\labelwidth}{0pt}
\setlength{\labelsep}{0pt}
- \setlength{\leftmargin}{3em}
- \setlength{\itemindent}{-3em}
- \setlength{\listparindent}{-3em}
- \setlength{\itemsep}{6pt}}\item}{\end{list}}
+ \setlength{\leftmargin}{\reflistindent}
+ \setlength{\itemindent}{-\reflistindent}
+ \setlength{\listparindent}{-\reflistindent}
+ \setlength{\itemsep}{\reflistitemsep}
+ \setlength{\parsep}{\reflistparsep}}\item}{\end{list}}
}
% Modified 1992 Nov 8 to skip defining reflist if reflist is already
% defined. Permits using uga.sty with covingtn.sty.
More information about the tex-live-commits
mailing list