summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/nameauth/nameauth.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-02-13 01:15:25 +0000
committerKarl Berry <karl@freefriends.org>2012-02-13 01:15:25 +0000
commit599105eb15f42b8148f5196f8feaa9989eda7fde (patch)
tree1eeb4e225e737fab597197fb4c862e3d572968b3 /Master/texmf-dist/source/latex/nameauth/nameauth.dtx
parentdda1f124cd7e9afd1be7dacbbec9c86495bce45c (diff)
nameauth 0.92 (12feb12)
git-svn-id: svn://tug.org/texlive/trunk@25379 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/nameauth/nameauth.dtx')
-rw-r--r--Master/texmf-dist/source/latex/nameauth/nameauth.dtx93
1 files changed, 63 insertions, 30 deletions
diff --git a/Master/texmf-dist/source/latex/nameauth/nameauth.dtx b/Master/texmf-dist/source/latex/nameauth/nameauth.dtx
index a9dd72a3696..760de69b194 100644
--- a/Master/texmf-dist/source/latex/nameauth/nameauth.dtx
+++ b/Master/texmf-dist/source/latex/nameauth/nameauth.dtx
@@ -26,26 +26,40 @@
%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<package>\ProvidesPackage{nameauth}
%<*package>
- [2012/02/10 v0.9 name authority macros to aid consistent display and indexing of names]
+ [2012/02/12 v0.92 name authority macros to aid consistent display and indexing of names]
%</package>
%
%<*driver>
\documentclass{ltxdoc}
+\usepackage{ifxetex}
+\usepackage{ifluatex}
+\usepackage{ifpdf}
+\ifxetex
+\usepackage{fontspec}
+\defaultfontfeatures{Mapping=tex-text}
+\usepackage{xunicode}
+\usepackage{xltxtra}
+\else
+\ifluatex
+\usepackage{fontspec}
+\defaultfontfeatures{Ligatures=TeX}
+\else
\usepackage[utf8]{inputenc}
\usepackage[TS1,T1]{fontenc}
-\usepackage{hologo}
\usepackage{lmodern}
-\usepackage{makeidx}
\usepackage{newunicodechar}
-\usepackage{nameauth}[2012/02/10]
-\begingroup\lccode`!=`\\\lowercase{\endgroup\def\bsc{!}}
-\makeindex
-\frenchspacing
\DeclareTextSymbolDefault{\textlongs}{TS1}
\DeclareTextSymbol{\textlongs}{TS1}{115}
\newunicodechar{ſ}{\textlongs}
\newunicodechar{ā}{\=a}
\newunicodechar{ṃ}{\d{m}}
+\fi
+\fi
+\usepackage{makeidx}
+\usepackage{nameauth}[2012/02/12]
+\begingroup\lccode`!=`\\\lowercase{\endgroup\def\bsc{!}}
+\makeindex
+\frenchspacing
\EnableCrossrefs
\CodelineIndex
\RecordChanges
@@ -57,7 +71,7 @@
%</driver>
% \fi
%
-% \CheckSum{0}
+% \CheckSum{746}
%
% \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
@@ -82,6 +96,7 @@
% \changes{v0.85}{2012/02/05}{Added comma suppression and additional functionality; revised documentation}
% \changes{v0.86}{2012/02/06}{Fixed some regressions}
% \changes{v0.9}{2012/02/10}{Added first name formatting, comma and suffix handling now expandable, edited documentation}
+% \changes{v0.92}{2012/02/12}{Build with all major \LaTeX{} engines; minor documentation changes}
%
% \DoNotIndex{\newcommand, \newenvironment, \@empty, \@gobble, \bfseries, \bgroup, \def, \egroup, \else, \endcsname, \endinput, \ExecuteOptions, \fi, \if, \ifx, \IfBooleanTF, \IfValueTF, \itshape, \let, \newif, \relax, \renewcommand, \RequirePackage, \scshape, \space, \DeclareDocumentCommand, \DeclareOption, \ProcessOptions, \@token, \@period, \csgdef, \csundef, \detokenize, \expandafter, \Forenames, \futurelet, \if@nameauth@DoComma, \if@nameauth@DoFormat, \if@nameauth@Punct, \ifcsname, \index, \PackageWarning, \Surnames, \Surnamesi, \Surnamesii, \TestDot, \TestEnd, \TestPunct, \TestStop, \zap@space, \edef, \if@nameauth@DoIndex, \if@nameauth@Comma, \Test}
%
@@ -98,11 +113,11 @@
%
% \section{Introduction}
%
-% Suppose you were working on a collection of essays. Depending on the permissions governing the essays, you might need to allow variance in the form of people's names. You would use a name authority to index and keep track of name forms. Your index might use abbreviated forms. Either a substantive or copy editor would keep track of the main form, the variants, and their relationship to the index. That might require a proofreading pass with queries to the editor. That adds time and cost to the job. If the author or editor can handle these details in advance, the result trims overhead cost, making that person more desirable for publication.
+% Suppose you were working on a collection of essays. Different publishers' permissions may force you to accept variance in the spelling of people's names. You would track and index those names using a name authority. Your index might use abbreviated name forms. This package allows the author to encode names so that the time and cost of an editor and proofreader can be minimized. This could make an author more desirable for publication that person more desirable for publication.
%
-% \subsection{Design Decisions}
+% \subsection{Typesetting, Indexing, and Design}
%
-% This package assumes that an author or editor wants to minimize keystrokes. The default behavior consists of the most likely settings. Considerable variation from the defaults is possible. The \texttt{.dtx} file is an invaluable source of information on how many variations of the macros can be used.
+% This package has been tested with \textsf{latex}, \textsf{lualatex}, \textsf{pdflatex} and \textsf{xelatex}, as well as \textsf{makeindex} and \textsf{texindy}. This file was typeset with \ifxetex\textsf{xelatex}\else\ifluatex\ifpdf\textsf{lualatex} in \texttt{pdf} mode\else\textsf{lualatex} in \texttt{dvi} mode\fi\else\ifpdf\textsf{pdflatex}\else\textsf{latex}\fi\fi\fi{} and \textsf{makeindex}. It will work with the other engines too. No compatibility issues have emerged. The default options and design of this package try to minimize keystrokes or trade extra work for benefits in formatting and consistency. The \texttt{.dtx} file is a good source of information on how many variations of the macros can be used.
%
% \subsection{Thanks}
%
@@ -375,7 +390,7 @@
% \subsubsection{Manual Index Entries}
% \label{sec:manual}
%
-% Starting with version 0.9, \cmd{\Name} and friends produce index entries that are compatible with manual index entries. The comma and suffix handling are now entirely expandable. A great way to see how these index entries are formed is to run \textsf{latex} and friends using \textsf{makeindex}---I have not tested this package with \texttt{xindy}---and examine the \texttt{.ind} file.
+% Starting with version 0.9, \cmd{\Name} and friends produce index entries that are compatible with manual index entries. The comma and suffix handling are now entirely expandable. One can see how these index entries are formed by running \textsf{latex} and friends and examining the \texttt{.idx} file.
%
% \subsubsection{Suffix Removal}
% \label{sec:suffix}
@@ -432,13 +447,13 @@
% \noindent The suffix workaround also can work with this example, but not with something like |\Name{Vlad, III}[Dracula]|. In order to make that form work, you would have to use |\Name{Vlad, III Dracula}|. The latter two forms both shorten to Vlad and look the same using the \texttt{nocomma} option. If you use both forms (see Section \ref{sec:formatting}) errors may bite. A more complicated example is:
% \begin{quote}
% \bgroup\ttfamily\footnotesize
-% \verb!\index{Doctor Angelicus@\textit{Doctor Angelicus}|see{@{Thomas}{} Aquinas}}%!\\
-% \verb!\index{Thomas of Aquino|see{@{Thomas}{} Aquinas}}%!\\
+% \verb!\index{Doctor Angelicus@\textit{Doctor Angelicus}|see{Thomas Aquinas}}%!\\
+% \verb!\index{Thomas of Aquino|see{Thomas Aquinas}}%!\\
% Perhaps the greatest medieval theologian was |\Name{Thomas}[Aquinas]| (Thomas of Aquino), also known as |\textit{Doctor Angelicus}|. His name ``Aquinas'' is not a surname, so many modern scholars simply refer to him as \break |\Name{Thomas}[Aquinas]|.
% \egroup
%
-% \index{Doctor Angelicus=\textit{Doctor Angelicus}|see{={Thomas}{} Aquinas}}%
-% \index{Thomas of Aquino|see{={Thomas}{} Aquinas}}%
+% \index{Doctor Angelicus=\textit{Doctor Angelicus}|see{Thomas Aquinas}}%
+% \index{Thomas of Aquino|see{Thomas Aquinas}}%
% Perhaps the greatest medieval theologian was \Name{Thomas}[Aquinas] (Thomas of Aquino), also known as \textit{Doctor Angelicus}. His name ``Aquinas'' is not a surname, so many modern scholars simply refer to him as \Name{Thomas}[Aquinas].
% \end{quote}
%
@@ -528,8 +543,37 @@
% \subsection{Accented Names}
% \label{sec:Accents}
%
-% The following Unicode accents will work in names using UTF8 and \textsf{inputenc}:
-%
+% This snippet from the preamble allows this document to be typeset with multiple engines that support the \LaTeX\ format:\\
+%
+% \bgroup\footnotesize%
+% \begin{tabular}{ll}
+% |\usepackage{ifxetex}|\\
+% |\usepackage{ifluatex}|\\
+% |\ifxetex| & |uses fontspec and other packages|\\
+% \hbox{\quad}|\usepackage{fontspec}|\\
+% \hbox{\quad}|\defaultfontfeatures{Mapping=tex-text}|\\
+% \hbox{\quad}|\usepackage{xunicode}|\\
+% \hbox{\quad}|\usepackage{xltxtra}|\\
+% |\else|\\
+% \hbox{\quad}|\ifluatex| & |also uses fontspec|\\
+% \hbox{\quad}\hbox{\quad}|\usepackage{fontspec}|\\
+% \hbox{\quad}\hbox{\quad}|\defaultfontfeatures{Ligatures=TeX}|\\
+% \hbox{\quad}|\else| & |% with pdflatex and latex|\\
+% \hbox{\qquad}|\usepackage[utf8]{inputenc}|\\
+% \hbox{\qquad}|\usepackage[TS1,T1]{fontenc}|\\
+% \hbox{\qquad}|\usepackage{lmodern}| & |% or other font with TS1 glyphs|\\
+% \hbox{\qquad}|\usepackage{newunicodechar}| & |% get more accents|\\
+% \hbox{\qquad}|\DeclareTextSymbolDefault{\textlongs}{TS1}|\\
+% \hbox{\qquad}|\DeclareTextSymbol{\textlongs}{TS1}{115}|\\
+% \hbox{\qquad}|\newunicodechar{ſ}{\textlongs}|\\
+% \hbox{\qquad}|\newunicodechar{ā}{\=a}|\\
+% \hbox{\qquad}|\newunicodechar{ṃ}{\d{m}}| & |% and so on|\\
+% \hbox{\quad}|\fi|\\
+% |\fi|
+% \end{tabular}
+% \egroup\\
+%
+% \noindent The following accented characters are available using \textsf{inputenc}/\textsf{fontenc}:
% \begin{quote}
% \begin{tabular}{llll}
% \scshape À Á Â Ã Ä Å Æ & \scshape Ç È É Ê Ë & \scshape Ì Í Î Ï Ð Ñ & \scshape first use \\
@@ -549,18 +593,7 @@
% \end{tabular}
% \end{quote}
%
-% \noindent Other accents will not work unless you use \TeX\ control sequences or \hologo{XeLaTeX}. You can also include the TS1 encoding and do something like the following with the \textsf{inputenc} package, the \textsf{newunicodechar} package, and and UTF8:
-%
-% \begin{quote}
-% |\DeclareTextSymbolDefault{\textlongs}{TS1}|\\
-% |\DeclareTextSymbol{\textlongs}{TS1}{115}|\\
-% |\newunicodechar{ſ}{\textlongs}|\\
-% |\newunicodechar{ā}{\=a}|\\
-% |\newunicodechar{ṃ}{\d{m}}|
-% \end{quote}
-%
-% \noindent Please remember that the appropriate font packages, such as \textsf{lmodern} or the \TeX\ Gyre fonts, are needed to obtain some TS1 glyphs. Also there may be points where \textsf{pdflatex} will accept the input (e.g., Gh{\=a}zali), but \textsf{makeindex} will have problems with that. In ``normal'' operation (I have used \textsf{article} and \textsf{memoir}) these control sequences appear to work fine. Special requirements like those in the \textsf{ltxdoc} class disrupt this functionality, requiring manual index entries in some cases.
-% \clearpage
+% \noindent More accented characters are possible via the \textsf{newunicodechar} package, but that could complicate matters with \textsf{makeindex} embedding control sequences in index entries. Some control sequences, like the ``a'' with macron |\=a|, will fail using \textsf{makeindex} and \texttt{gind.ist} because it will be interpreted as a ``literal'' character.
%
% \subsection{Name Formatting}
% \label{sec:formatting}