summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/dcm
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-01-09 22:43:47 +0000
committerKarl Berry <karl@freefriends.org>2012-01-09 22:43:47 +0000
commit66a28e0c48dbe5e98f85c13320d4c1aa27deed16 (patch)
tree1ca760c6b187045518083dfbdd4d75f12c54d2fe /Master/texmf-dist/source/latex/stex/dcm
parent2038d0a63142b83600256230a480cfc39a984c63 (diff)
rm stex, cannot get right: bin programs, xml, etc.
git-svn-id: svn://tug.org/texlive/trunk@25063 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/dcm')
-rw-r--r--Master/texmf-dist/source/latex/stex/dcm/dcm.dtx1067
1 files changed, 0 insertions, 1067 deletions
diff --git a/Master/texmf-dist/source/latex/stex/dcm/dcm.dtx b/Master/texmf-dist/source/latex/stex/dcm/dcm.dtx
deleted file mode 100644
index ba7bdc3df31..00000000000
--- a/Master/texmf-dist/source/latex/stex/dcm/dcm.dtx
+++ /dev/null
@@ -1,1067 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for marking up Dublin Core Metadata in LaTeX documents
-% $URL: https://svn.kwarc.info/repos/stex/trunk/sty/dcm/dcm.dtx $
-% $Rev: 1671 $; last modified by $Author: kohlhase $
-% $Date: 2010-11-06 08:05:15 +0100 (Sat, 06 Nov 2010) $
-% Copyright (c) 2007 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-% \fi
-%
-% \iffalse
-%<*package>
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{dcm}[2010/06/25 v0.3 Dublin Core Metadata]
-%</package>
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage{dcm,sref,url,array,float}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\bibliography{kwarc}
-\usepackage{../ctansvn}
-\usepackage{hyperref}
-\usepackage{stex-logo}
-\usepackage[eso-foot,today]{svninfo}
-\svnInfo $Id: dcm.dtx 1671 2010-11-06 07:05:15Z kohlhase $
-\svnKeyword $HeadURL: https://svn.kwarc.info/repos/stex/trunk/sty/dcm/dcm.dtx $
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\DCMperson[id=jdoe,affiliation={DFKI Bremen},
- url=http://dfki.de/jdoe]{John Doe}
-\DCMperson[id=miko,affiliation={Jacobs University, Bremen},
- url=http://kwarc.info/kohlhase]{Michael Kohlhase}
-\def\tracissue#1{\cite{sTeX:online}, \hyperlink{http://trac.kwarc.info/sTeX/ticket/#1}{issue #1}}
-\begin{document}\DocInput{dcm.dtx}\end{document}
-%</driver>
-% \fi
-%
-%\iffalse\CheckSum{667}\fi
-%
-% \changes{v0.1}{2007/01/02}{First Hack for OMDoc spec}
-% \changes{v0.2}{2008/06/17}{First Version with Documentation}
-% \changes{v0.2}{2008/07/02}{Renamed to dcm}
-% \changes{v0.3}{2009/09/21}{much more documentation of the user interface}
-% \changes{v0.3}{2009/09/21}{Adding sref support and made generated headings configurable}
-% \changes{v0.3}{2010/01/11}{Eliminating stub author index that never worked anyways}
-%
-% \GetFileInfo{dcm.sty}
-%
-% \MakeShortVerb{\|}
-% \def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\latexml{\scsys{LaTeXML}}
-%
-% \begin{DCmetadata}[maketitle]
-% \DCMtitle{{\texttt{dcm.sty}}: An Infrastructure for marking up Dublin Core Metadata in {\LaTeX}
-% documents\thanks{Version {\fileversion} (last revised {\filedate})}}
-% \DCMcreators{miko,jdoe}
-% \DCMabstract{The |dcm| package allows mark up Dublin
-% Core Metadata in {\LaTeX} documents that can be harvested by automated tools or
-% exported to PDF, while at the same time generating conventional title information.}
-% \end{DCmetadata}
-%
-% \setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-%\DCMsection[id=intro,creators={miko}]{Introduction}
-%
-% The |dcm| packge allows mark up Dublin Core Metadata~\cite{DCMI:dmt03} in {\LaTeX}
-% documents so that it can be harvested by automated tools or exported to PDF\ednote{This
-% still needs to be implemented, see \texttt{http://www.wlug.org.nz/PdfLatexNotes} for
-% details}. This package allows to attribute authorship to arbitrary text
-% fragments.\ednote{continue}
-%
-% \DCMsection[id=user,creators={miko,jdoe}]{The User Interface}
-%
-% \DCMsubsection[id=user.options]{Package Options}
-%
-% The |dcm| package takes a single option: \DescribeMacro{showmeta}|showmeta|. If this is
-% set, then the metadata keys are shown (see~\cite{Kohlhase:metakeys:ctan} for details and
-% customization options).
-%
-% \DCMsubsection{Persons}
-%
-% The |dcm| package recognizes that from a metadata perspective, persons are complex
-% entities. In particular, specifying metadata is a tedious and repetitive task that leads
-% to embarrassing errors. Therefore the |dcm| package takes a hint from bibTeX and allows
-% to specify personal metadata in a database and use it by a database key.
-% \begin{exfig}[ht]
-% \begin{verbatim}
-% \DCMperson[id=jdoe,affiliation={DFKI Bremen},
-% url=http://dfki.de/jdoe]{John Doe}
-% \DCMperson[id=miko,affiliation={Jacobs University, Bremen},
-% url=http://kwarc.info/kohlhase]{Michael Kohlhase}
-% \end{verbatim}
-% \caption{A small database of Persons}
-% \label{fig:persons}
-% \end{exfig}
-% The \DescribeMacro{\DCMperson}|\DCMperson| macro allows to specify personal metadata\ednote{This
-% should be synchronized with the FOAF specification~\cite{FOAF:spec}} with the following
-% keys:
-% \begin{center}
-% \begin{tabular}{|l|l|}\hline
-% key & comment\\\hline\hline
-% id & identifier of this person\\\hline
-% birthdate & birthdate \\\hline
-% email & the primary e-mail address\\\hline
-% url & the URI of the primary home page \\\hline
-% affiliation & the primary professional affiliation\\\hline
-% personaltitle & the personal title e.g. {\texttt{King}}\\\hline
-% academictitle & the academic title e.g. {\texttt{Prof. Dr.}}\\\hline
-% department & the department specified in the work address\\\hline
-% workaddress & the work address \\\hline
-% privaddress & the private address \\\hline
-% worktel & work telephone number \\\hline
-% privtel & private telephone number\\\hline
-% workfax & work fax number \\\hline
-% privfax & private fax number \\\hline
-% worktelfax & if the phone and fax share a prefix, give this as well \\\hline
-% privtelfax & dito\\\hline
-% \end{tabular}
-% \end{center}
-% In Figure~\ref{fig:persons} we have specified (minimal) metadata for the authors of the
-% |dcm| package. The metadata can be accessed by specifying the identifiers (given by the
-% |id| key) in the |dcm| macros defined below, see for instance the |\DCMcreators| macro
-% in Figure~\ref{fig:dcmblock}, which leads to the title block of this note.
-%
-% Like in bibTeX~\cite{Patashnik:b88}, it is a good idea to collect the metadata in a separate
-% file that is input in the document. In practice it may be possible to generate these
-% files from conventional address databases.
-%
-% \DCMsubsection[id=user.dcm.mdblock]{The DC Metadata Block}
-%
-% \DescribeEnv{DCmetadata} The |dcm| provides the environment |DCmetadata| for Dublin Core
-% Metadata Blocks. |DCmetadata| defines local macros for the specifying the relevant
-% Dublin Core metadata fields and takes an optional argument that specifies the
-% presentation of the metadata block, see Figure~\ref{fig:dcmblock} for an example which
-% would generate the title block for the |dcm| package. Let us now come to the macros themselves
-%
-% \DescribeMacro{\DCMcreators}\DescribeMacro{\DCMcontributors} The |\DCMcreators| and
-% |\DCMcontributors| macros are used to specify the authors and contributors to a text
-% fragments. These macros take one argument, the authorship of a document specified in
-% terms of |id|s of persons specified via |\DCMperson| before. They can occur multiply in
-% a metadata block.
-%
-% \DescribeMacro{\DCMtitle} The |\DCMtitle| macro takes one argument, the
-%
-% \DescribeMacro{\DCMshorttitle} The |\DCMshorttitle| macro takes one argument, the
-%
-% \DescribeMacro{\DCMsubject} The |\DCMsubject| macro takes one argument, the
-%
-% \DescribeMacro{\DCMdescription} The |\DCMdescription| macro takes one argument, the
-%
-% \DescribeMacro{\DCMpublisher} The |\DCMpublisher| macro takes one argument, the
-%
-% \DescribeMacro{\DCMdate} The |\DCMdate| macro takes one argument, the
-%
-% \DescribeMacro{\DCMtype} The |\DCMtype| macro takes one argument, the
-%
-% \DescribeMacro{\DCMidentifier} The |\DCMidentifier| macro takes two arguments, the first one
-% is the identification system, and the second one the identifier string itself.
-%
-% \DescribeMacro{\DCMsource} The |\DCMsource| macro takes one argument, the
-%
-% \DescribeMacro{\DCMlanguage} The |\DCMlanguage| macro takes one argument, the
-%
-% \DescribeMacro{\DCMrelation} The |\DCMrelation| macro takes one argument, the
-%
-% \DescribeMacro{\DCMrights} The |\DCMrights| macro takes one argument, the
-%
-% \DescribeMacro{\DCMlicense} The |\DCMlicense| macro takes one argument, the
-%
-% \DescribeMacro{\DCMabstract} The |\DCMabstract| macro takes one argument, the
-%
-% \DescribeMacro{\DCMlicensenotice} The |\DCMlicensenotice| macro takes one argument, the
-%
-% \DescribeMacro{\DCMcopyrightnotice} The |\DCMcopyrightnotice| macro takes one argument, the
-%
-% \DescribeMacro{\DCMcclicense} The |\DCMcclicense| macro
-%
-% \DescribeMacro{\attribution}
-%
-% \DescribeMacro{\noncommercial}
-%
-% \DescribeMacro{\sharealike}
-%
-% \DescribeMacro{\noderivativeworks}
-%
-% \begin{exfig}[ht]
-% \begin{verbatim}
-% \begin{DCmetadata}[maketitle]
-% \DCMtitle{An Infrastructure for marking up Dublin Core Metadata in
-% {\LaTeX} documents\thanks{Version {\fileversion}
-% (last revised {\filedate})}}
-% \DCMcreators{miko,jdoe}
-% \DCMdate{\today}
-% \DCMcopyrightnotice{2008}{Michael Kohlhase}
-% \DCMlicensenotice{Copyright (c) 2008 Michael Kohlhase, all rights
-% reserved. This file is released under the LaTeX Project Public
-% License (LPPL)}
-% \DCMabstract{The {\texttt{dcm}} packge allows mark up Dublin
-% Core Metadata in {\LaTeX} documents that can be harvested by
-% automated tools or exported to PDF, while at the same time
-% generating conventional title information.}
-% \end{DCmetadata}
-% \end{verbatim}
-% \caption{The DC Metadata block for the {\texttt{dcm}} package documentation}
-% \label{fig:dcmblock}
-% \end{exfig}
-%
-% \DCMsubsection[creators=jdoe,id=user.blockstyles]{DCM Metadata Block Styles}
-%
-% The |DCmetadata| environment takes an optional argument that specifies the style the
-% metadata block is rendered in. The |dcm| package supplies two styles:
-% \DescribeMacro{maketitle}|maketitle| and \DescribeMacro{titlepage}|titlepage|. The
-% former uses the |\maketitle| macro from the calling class to assemble a title, whereas
-% the latter builds a title page from scratch. The title block of this documentation has
-% been created by the |maketitle| style.
-%
-% To add a further metadata block style \meta{sty}, we simply have to supply a
-% \DescribeMacro{\dcm@*@block}|\dcm@|\meta{sty}|@block| macro that expands to the intended
-% presentation. This macro does not take any arguments, but can use the internal token
-% registers defined by the |DCmetadata| environment. Generally, for any of the metadata
-% commands |\DCM|\meta{md} defined in {\sref{user.dcm.mdblock}} there is a token register
-% |\dcm@|\meta{md} that contains the value specified in the key.
-%
-% \DCMsubsection{Augmented Sectioning Macros}
-%
-% The |dcm| package supplies sectioning commands customized for metadata handling: The
-% \DescribeMacro{\DCMchapter}|\DCMchatper| \DescribeMacro{\DCMsection}|\DCMsection|
-% \DescribeMacro{\DCMsubsection}|\DCMsubsection|, and
-% \DescribeMacro{\DCMsubsubsection}|\DCMsubsubsection| macros behave like their regular
-% {\LaTeX} counterpart, except that the optional argument, which is used to specify a
-% short title there, is now a KeyVal argument. The |short| key takes over the role of
-% specifying a short title in |\DCM|\meta{sect}. The |id| key allows to specify an
-% identifier, which can be used for {\LaTeX}-style referencing (use
-% |\ref{|\meta{sect}|.|\meta{id}|}|) or |sref|-style referencing~\ctancite{Kohlhase:sref}
-% (use |\sref{|\meta{id}|}|). Finally, the keys |creators| and |contributors| can be used
-% to specify the authors (creators in Dublin Core speak~\cite{DCMI:dmt03}) and
-% contributors. For instance the following line was used to specify the heading of
-% {\sref{user}}.
-% \begin{verbatim}
-% \DCMsection[id=user,creators={miko,jdoe}]{The User Interface}
-% \end{verbatim}
-% Finally, the |style| key can be used to specify a style.
-%
-% \DCMsubsection[id=user.conig]{Configuration}
-%
-% The |dcm| package provides a set of macros that customize (e.g. for multiple languages)
-% the generated
-% content.
-% \DescribeMacro{\dcm@abstract@heading}
-% \DescribeMacro{\dcm@creators@heading}
-% \DescribeMacro{\dcm@contributors@connector}
-% \DescribeMacro{\dcm@chapter@heading}
-% \DescribeMacro{\dcm@section@heading}
-% \DescribeMacro{\dcm@subsection@heading}
-% \DescribeMacro{\dcm@subsubsection@heading}
-% \begin{center}\makeatletter
-% \begin{tabular}{|l|l|}\hline
-% Macro & Default\\\hline\hline
-% |\dcm@abstract@heading| & \dcm@abstract@heading \\\hline
-% |\dcm@creators@heading| & \dcm@creators@heading \\\hline
-% |\dcm@contributors@connector| & \dcm@contributors@connector \\\hline\hline
-% |\dcm@chapter@heading| & \dcm@chapter@heading \\\hline
-% |\dcm@section@heading| & \dcm@section@heading \\\hline
-% |\dcm@subsection@heading| & \dcm@subsection@heading \\\hline
-% |\dcm@subsubsection@heading| & \dcm@subsubsection@heading \\\hline
-% \end{tabular}
-% \end{center}
-%
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX TRAC~\cite{sTeX:online}.
-% \begin{compactenum}
-% \item none reported yet
-% \end{compactenum}
-%
-% \StopEventually{\printbibliography}
-%
-% \DCMsection[creators=jdoe,id=impl]{The Implementation}
-%
-% The |dcm| package generates two files: the {\LaTeX} package (all the code between
-% {\textsf{$\langle$*package$\rangle$}} and {\textsf{$\langle$/package$\rangle$}}) and the
-% {\latexml} bindings (between {\textsf{$\langle$*ltxml$\rangle$ and
-% $\langle$/ltxml$\rangle$}}). We keep the corresponding code fragments together,
-% since the documentation applies to both of them and to prevent them from getting out of
-% sync.
-%
-% \DCMsubsection[id=impl.options]{Package Options}
-% The first step is to declare (a few) package options that handle whether certain
-% information is printed or not. They all come with their own conditionals that are set by
-% the options.
-%
-% \begin{macrocode}
-%<*package>
-\DeclareOption{showmeta}{\PassOptionsToPackage{\CurrentOption}{metakeys}}
-\ProcessOptions
-%</package>
-% \end{macrocode}
-%
-% The first measure is to ensure that the |KeyVal| package is loaded (in the right
-% version). For {\latexml} we also initialize the package inclusions.
-% \begin{macrocode}
-%<*package>
-\RequirePackage{sref}
-%</package>
-%<*ltxml>
-# -*- CPERL -*-
-package LaTeXML::Package::Pool;
-use strict;
-use LaTeXML::Global;
-use LaTeXML::Package;
-RequirePackage('sref');
-%</ltxml>
-% \end{macrocode}
-%
-% \DCMsubsection{Persons}
-%
-% To implement the |\DCMperson| macro, we need to implement its keywords first and also
-% the |\dcm@person@clear@keys| macro that clears them. \ednote{need some DCM stuff here}
-%
-% \begin{macrocode}
-%<*package>
-\addmetakey{dcm@person}{id}
-\addmetakey{dcm@person}{birthdate}
-\addmetakey{dcm@person}{email}
-\addmetakey{dcm@person}{url}
-\addmetakey{dcm@person}{affiliation}
-\addmetakey{dcm@person}{personaltitle}
-\addmetakey{dcm@person}{academictitle}
-\addmetakey{dcm@person}{department}
-\addmetakey{dcm@person}{workaddress}
-\addmetakey{dcm@person}{privaddress}
-\addmetakey{dcm@person}{worktel}
-\addmetakey{dcm@person}{privtel}
-\addmetakey{dcm@person}{workfax}
-\addmetakey{dcm@person}{privfax}
-\addmetakey{dcm@person}{worktelfax}
-\addmetakey{dcm@person}{privtelfax}
-%</package>
-% \end{macrocode}
-%
-% The next macro is an auxiliary one that puts the value into an appropriate token
-% register. At the {\latexml} side we have a function |ExportMetadata| that does a similar
-% job, fishing out the metadata keys from the keyval arguments and storing them in a safe
-% place so they can be accessed later.
-%
-% \begin{macrocode}
-%<*package>
-\def\dcm@pers@def#1#2{\expandafter\xdef\csname dcm@person@\dcm@person@id @#1\endcsname{#2}}
-\def\dcm@pers@ref#1#2{\csname dcm@person@#1@#2\endcsname}
-\let\dcm@persons=\relax
-%</package>
-%<*ltxml>
- sub getKeyValue_noDelim {
- my ($keyval,$key)=@_;
- my $valuelist = ToString($keyval->getValue($key));
- $valuelist =~ s/^{(.*)}$/$1/g if $valuelist;
- return $valuelist;
-}
-sub ExportMetadata {
- my $keys = shift;
- my($id, $email,$affill,$address,$url,$name)=$keys
- && map(getKeyValue_noDelim($keys,$_),qw(id email affiliation address url name));
- if ($id) {
- AssignValue('DCM_'.$id.'_email',$email,'global') if $email;
- AssignValue('DCM_'.$id.'_affiliation',$affill,'global') if $affill;
- AssignValue('DCM_'.$id.'_address',$email,'global') if $email;
- AssignValue('DCM_'.$id.'_url',$url,'global') if $url;
- AssignValue('DCM_'.$id.'_name',$name,'global') if $name;
- } else {print STDERR "Warning: key 'id' undefined in \\DCMperson\n"};
- return;}
-%</ltxml>
-% \end{macrocode}
-%
-% With this we can define the |\DCMperson| macro, it just clears the keys, sets them
-% again, and stores them in token registers. If course only if a |id| attribute is given,
-% else we raise an error.
-%
-% \begin{macro}{DCMPerson}
-% \begin{macrocode}
-%<*package>
-\newcommand{\DCMperson}[2][]{\metasetkeys{dcm@person}{#1}
-\ifx\dcm@person@id\@empty\@latex@warning{key 'id' undefined in DCMperson}\else
-\dcm@pers@def{name}{#2}
-\dcm@pers@def{email}{\dcm@person@email}
-\dcm@pers@def{birthdate}{\dcm@person@birthdate}
-\dcm@pers@def{url}{\dcm@person@url}
-\dcm@pers@def{affiliation}{\dcm@person@affiliation}
-\dcm@pers@def{workaddress}{\dcm@person@workaddress}
-\dcm@pers@def{privaddress}{\dcm@person@privaddress}
-\dcm@pers@def{personaltitle}{\dcm@person@personaltitle}
-\dcm@pers@def{academictitle}{\dcm@person@academictitle}
-\dcm@pers@def{department}{\dcm@person@department}
-\dcm@pers@def{workaddress}{\dcm@person@workaddress}
-\dcm@pers@def{privaddress}{\dcm@person@privaddress}
-\dcm@pers@def{worktel}{\dcm@person@worktel}
-\dcm@pers@def{privtel}{\dcm@person@privtel}
-\dcm@pers@def{workfax}{\dcm@person@workfax}
-\dcm@pers@def{privfax}{\dcm@person@privfax}
-\dcm@pers@def{worktelfax}{\dcm@person@worktelfax}
-\dcm@pers@def{privtelfax}{\dcm@person@privtelfax}
-\@ifundefined{dcm@persons}{\xdef\dcm@persons{\dcm@person@id}}{\xdef\dcm@persons{\dcm@persons,\dcm@person@id}}
-\fi}
-%</package>
-%<*ltxml>
-DefKeyVal('dcm@person','id','Semiverbatim');
-DefKeyVal('dcm@person','birthdate','Semiverbatim');
-DefKeyVal('dcm@person','email','Semiverbatim');
-DefKeyVal('dcm@person','url','Semiverbatim');
-DefKeyVal('dcm@person','affiliation','Semiverbatim');
-DefKeyVal('dcm@person','personaltitle','Semiverbatim');
-DefKeyVal('dcm@person','academictitle','Semiverbatim');
-DefKeyVal('dcm@person','department','Semiverbatim');
-DefKeyVal('dcm@person','workaddress','Semiverbatim');
-DefKeyVal('dcm@person','privaddress','Semiverbatim');
-DefKeyVal('dcm@person','worktel','Semiverbatim');
-DefKeyVal('dcm@person','privtel','Semiverbatim');
-DefKeyVal('dcm@person','workfax','Semiverbatim');
-DefKeyVal('dcm@person','privfax','Semiverbatim');
-DefKeyVal('dcm@person','worktelfax','Semiverbatim');
-DefKeyVal('dcm@person','privtelfax','Semiverbatim');
-
-DefConstructor('\DCMperson OptionalKeyVals:dcm@person {}','',
-afterDigest=>sub {
- my ($stomach,$whatsit)=@_;
- my $keys=$whatsit->getArg(1);
- my $name=ToString($whatsit->getArg(2));
- $keys->setValue('name',$name);
- ExportMetadata($keys);
- return;
-});#$
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% Furthermore, we need a couple of helper functions for the
-%
-% \begin{macrocode}
-%<*ltxml>
-sub FishOutMetadata {
- my ($document,$keyvals)=@_;
- foreach my $role(qw(creators contributors)) {
- my $idlist_string=getKeyValue_noDelim($keyvals,$role);
- my @ids = split(/,\s*/, $idlist_string);
- foreach my $id(@ids) {
- my $name = LookupValue('DCM_'.$id.'_name');
- if ($name) {
- my $prop_role = $role;
- chop $prop_role if $prop_role;
- $document->insertElement("dc:$prop_role",$name) if $role;
- } else {print STDERR "Warning: no $role with 'id' $id !\n";}
- }
- }
- return;}#$
-%</ltxml>
-% \end{macrocode}
-%
-% \DCMsubsection{The DC Metadata Block}
-%
-% Then we make an environment for defining the metadata. Note that since we have defined
-% the |omdoc:metadata| element to auto-open and auto-close, we do not have to (and should
-% not for that matter) supply it in the |DCmetadata| element.
-%
-% \begin{environment}{DCmetadata}
-% \begin{macrocode}
-%<*package>
-\newenvironment{DCmetadata}[1][]%
-{\def\@style{#1}} % to set the way things are presented.
-{\@ifundefined{dcm@\@style @block}{\message{style {\@style} not defined}}{\csname dcm@\@style @block\endcsname}}
-%</package>
-%<*ltxml>
-DefEnvironment('{DCmetadata}[]', "<omdoc:metadata>#body</omdoc:metadata>");
-%</ltxml>
-% \end{macrocode}
-% \end{environment}
-%
-% Now some auxiliary macros to make author blocks. \ednote{use and document them!}
-%
-% \begin{macrocode}
-%<*package>
-\def\dcm@tabline#1#2{\xdef\tab@line{}%
-\@for\@p:={#1}\do{\xdef\tab@line{\tab@line&\dcm@pers@ref\@p{#2}}}
-\tab@line}
-\def\dcm@atabline#1#2#3{\xdef\tab@line{}%
-\@for\@p:={#1}\do{\xdef\tab@line{\tab@line&#2: \dcm@pers@ref\@p{#3}}}
-\tab@line}
-\def\dcm@bitabline#1#2#3#4{\xdef\tab@line{}%
-\@for\@p:={#1}\do{\xdef\tab@line{\tab@line&\dcm@pers@ref\@p{#2} #3 \dcm@pers@ref\@p{#4}}}
-\tab@line}
-%</package>
-% \end{macrocode}
-% Here come the constructors, most of them are relatively straightforward
-% \begin{macro}{\DCMcreators}
-% the |\DCMcreators| macro checks whether all ids are defined.
-% \begin{macrocode}
-%<*package>
-\def\DCMcreators#1{\@for\@I:=#1\do{%
-\ifx\csname dcm@person@\@I @id\endcsname\@empty% undefined \dcm@person@id
-\PackageError{dcm}{reference to undefined DCMperson \@I}%
-{you must define a person with id=\@I\MessageBreak%
-via the macro \protect\DCMperson, before you can use it in \protect\DCMcreators}\fi}%
-\def\dcm@creators{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMcreators{}',sub{
- my ($document,$args,%properties) = @_;
- my $keyval = LaTeXML::KeyVals->new('dcm@person',T_BEGIN,T_END,('creators'=>$args));
- FishOutMetadata($document,$keyval);
- return;});
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMcontributors}
-% the |\DCMcontributors| macro also checks whether all ids are defined.
-% \begin{macrocode}
-%<*package>
-\def\DCMcontributors#1{\@for\@I:=#1\do{%
-\ifx\csname dcm@person@\@I @id\endcsname\@empty% undefined \dcm@person@id
-\PackageError{dcm}{reference to undefined DCMperson \@I}%
-{you must define a person with id=\@I\MessageBreak%
-via the macro \protect\DCMperson, before you can use it in \protect\DCMcontributors}}%
-\else% all \dcm@person@id in the list are defined
-\def\dcm@contributors{#1}\fi}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMcontributors{}',sub{
- my ($document,$args,%properties) = @_;
- my $keyval = LaTeXML::KeyVals->new('dcm@person',T_BEGIN,T_END,('contributors'=>$args));
- FishOutMetadata($document,$keyval);
- return;});
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMtitle}
-% \begin{macrocode}
-%<*package>
-\def\DCMtitle#1{\def\dcm@title{#1}\providecommand{\dcm@shorttitle}{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMtitle{}',"<dc:title>#1</dc:title>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMsubtitle}
-% \begin{macrocode}
-%<*package>
-\def\dcm@subtitle{}
-\def\DCMsubtitle#1{\def\dcm@subtitle{#1}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMshorttitle}
-% \begin{macrocode}
-%<*package>
-\def\dcm@shorttitle{}
-\def\DCMshorttitle#1{\def\dcm@shorttitle{#1}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMsubject}
-% \begin{macrocode}
-%<*package>
-\def\DCMsubject#1{\def\dcm@subject{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMsubject{}',"<dc:subject>#1</dc:subject>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMdescription}
-% \begin{macrocode}
-%<*package>
-\long\def\DCMdescription#1{\long\def\dcm@description{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMdescription{}',"<dc:description>#1</dc:description>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMpublisher}
-% \begin{macrocode}
-%<*package>
-\def\DCMpublisher#1{\def\dcm@publisher{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMpublisher{}',"<dc:publisher>#1</dc:publisher>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMdate}
-% the |\DCMdate| uses |\today| as a default\ednote{@DEYAN: do that in latexml}
-% \begin{macrocode}
-%<*package>
-\def\dcm@date{\today}
-\def\DCMdate#1{\def\dcm@date{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMdate{}',"<dc:date>#1</dc:date>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMtype}
-% \begin{macrocode}
-%<*package>
-\def\DCMtype#1{\def\dcm@type{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMtype{}',"<dc:type>#1</dc:type>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMidentifier}
-% \begin{macrocode}
-%<*package>
-\def\DCMidentifier#1#2{\def\dcm@scheme{#1}\def\dcm@identifier{#2}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMidentifier{}{}',"<dc:identifier scheme='#1'>#2</dc:identifier>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMsource}
-% \begin{macrocode}
-%<*package>
-\def\DCMsource#1{\def\dcm@source{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMsource{}',"<dc:source>#1</dc:source>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMlanguage}
-% \begin{macrocode}
-%<*package>
-\def\DCMlanguage#1{\def\dcm@language{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMlanguage{}',"<dc:language>#1</dc:language>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMrelation}
-% \begin{macrocode}
-%<*package>
-\def\DCMrelation#1{\def\dcm@relation{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMrelation{}',"<dc:relation>#1</dc:relation>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMrights}
-% \begin{macrocode}
-%<*package>
-\def\DCMrights#1{\long\def\dcm@rights{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMrights{}',"<dc:rights>#1</dc:rights>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMlicense}
-% \begin{macrocode}
-%<*package>
-\def\DCMlicense#1{\def\dcm@license{#1}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMlicensenotice}
-% here we have a default
-% \begin{macrocode}
-%<*package>
-\def\dcm@license{All rights reserved}
-\def\DCMlicensenotice#1{\long\def\dcm@license{\\[1ex]License: #1}}
-%</package>
-%<*ltxml>
-DefMacro('\DCMlicensenotice{}','\DCMrights{#1}');
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMcopyrightnotice}
-% \begin{macrocode}
-%<*package>
-\def\DCMcopyrightnotice#1#2{\DCMrights{Copyright {\copyright} #1: #2}}
-%</package>
-%<*ltxml>
-DefMacro('\DCMcopyrightnotice{}{}','\DCMrights{Copyright {\copyright} #1: #2}');
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\cclicense}
-% \begin{macrocode}
-%<*package>
-\def\cclicense#1{\def\attribution{\def\dcm@by{yes}}
- \def\noncommercial{\def\dcm@nc{yes}}
- \def\sharealike{\defdcm@sharealike{yes}}
- \def\noderivativeworks{\def\dcm@derivatives{no}}}
-%</package>
-%<*ltxml>
-DefConstructor('\cclicense{}',"<cc:license>#1</cc:license>");
-DefConstructor('\attribution',"<cc:attribution/>");
-DefConstructor('\noncommercial',"<cc:noncommercial/>");
-DefConstructor('\sharealike',"<cc:sharealike/>");
-DefConstructor('\noderivativeworks',"<cc:noderivativeworks>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMabstract}
-% \begin{macrocode}
-%<*package>
-\long\def\DCMabstract#1{\long\def\dcm@abstract{#1}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMabstract{}',"<dc:description>#1</dc:description>");
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \DCMsubsection[creators=jdoe,id=impl.blockstyles]{DCM Block Styles}
-%
-% We now define various commonly used styles.
-%
-% \begin{macro}{\dcm@authorblock}
-% This internal macro builds an author block from a list of |\DCMperson| labels in
-% |\dcm@creators|.
-% \begin{macrocode}
-%<*package>
-\def\dcm@authorblock{\newcounter{authors}\stepcounter{authors}
-{\let\tabularnewline\relax
- \@for\@I:=\dcm@creators\do{\stepcounter{authors}}
- \def\@authors{}\def\@affs{}\def\@urls{}
- \@for\@I:=\dcm@creators\do
- {\xdef\@authors{\@authors&\csname dcm@person@\@I @name\endcsname}
- \xdef\@affs{\@affs&\csname dcm@person@\@I @affiliation\endcsname}
- \xdef\@urls{\@urls&\csname dcm@person@\@I @url\endcsname}}
- \message{authors: \@authors}}
- \begin{tabular}[t]{l*{\theauthors}{c}}\@authors\\\@affs\\\@urls\end{tabular}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dcm@titlepage@block}
-% This style builds up a title page from scratch
-% \begin{macrocode}
-%<*package>
-\def\dcm@titlepage@block{\begin{titlepage}
- \null\vfil\vskip 60\p@
- \begin{center}
- \ifx\dcm@title\@empty
- \PackageWarning{dcm}{No title specified}{\LARGE Add title here\par}
- \else\LARGE \dcm@title \par\fi
- \ifx\dcm@subtitle\@empty
- \vskip 3em\Large \dcm@subtitle \par\vskip 3em
- \else\large\lineskip .75em\dcm@authorblock\vskip 1.5em\fi
- \ifx\dcm@date\@empty
- \PackageWarning{dcm}{No date specified}{\large\today\par}
- \else{\large\dcm@date\par}\vskip 2em\fi
- \end{center}\vskip2em
- \ifx\dcm@abstract\@empty
- \PackageWarning{dcm}{No Abstract specified}\else
- \begin{quote}\textbf\dcm@abstract@heading:\dcm@abstract\end{quote}\fi
- \vskip 2em\par\vfil\noindent
- {\small\noindent\dcm@rights\dcm@license}
- \end{titlepage}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dcm@maketitle@block}
-% This style makes use of the title facility of the document class.
-% \begin{macrocode}
-%<*package>
-\def\dcm@maketitle@block{\def\@title{\dcm@title\ifx\dcm@subtitle\empty\else\newline\dcm@subtitle\fi}
-\def\@author{\dcm@authorblock}\def\@date{\dcm@date}\maketitle}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \DCMsubsection{Augmented Sectioning Macros}
-%
-% \begin{macro}{\dcm@sect@clear@keys}
-% We first define the sectioning keys with the infrastructure from the |metakeys|
-% package~\ctancite{Kohlhase:metakeys}
-% \begin{macrocode}
-%<*package>
-\srefaddidkey{dcm@sect}
-\addmetakey{dcm@sect}{short}
-\addmetakey{dcm@sect}{creators}
-\addmetakey{dcm@sect}{contributors}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dcm@section}
-% The next step is to define an auxiliary macro that does all the
-% work. |\dcm@section{|\meta{type}|}{|\meta{title}|}{|\meta{keys}|}| delegates the
-% presentation of the \meta{title} and the metadata in \meta{keys} to the
-% |\dcm@section@*@style| macro specified \meta{style}.
-% \begin{macrocode}
-%<*package>
-\def\dcm@section#1#2#3{\def\dcm@sect@type{#1}\metasetkeys{dcm@sect}{#3}\sref@target%
-\ifx\dcm@sect@short\@empty\csname #1\endcsname{#2}%
-\else\csname #1\endcsname[\dcm@sect@short]{#2}\fi~%
-\@ifundefined{sect@style} %
-{\dcm@section@default@style{#1}}%
-{\csname dcm@section@\sect@style @style\endcsname{#1}}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dcm@section@default@style}
-% This is the default style for sectional metadata
-% \begin{macrocode}
-%<*package>
-\def\dcm@section@default@style#1{%
-\ifx\dcm@sect@creators\@empty\else%
-\textbf{\dcm@creators@heading}:%
-\@for\@I:=\dcm@sect@creators\do{~\csname dcm@person@\@I @name\endcsname}\fi%
-\ifx\dcm@sect@contributors\@empty\else% there are contributors
-\dcm@contributors@connector%
-\@for\@I:=\dcm@sect@contributors\do{~\csname dcm@person@\@I @name\endcsname}\\\fi}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% Armed with these, the rest is very simple
-%
-% \begin{macro}{\DCMchapter}
-% \begin{macrocode}
-%<*package>
-\newcommand{\DCMchapter}[2][]%
-{\dcm@section{chapter}{#2}{#1}\sref@label@id{\dcm@chapter@heading\ \thechapter}}
-%</package>
-% \end{macrocode}
-% For the {\latexml} bindings we have to be a bit more creative. We only open the
-% |omgroup| element (and declare it to autoclose)\ednote{@DEYAN, we need to document more
-% here; and we should also close the metadata element just to be more tidy.}
-% \begin{macrocode}
-%<*ltxml>
-Tag('omdoc:omgroup', autoClose=>1);
-DefConstructor('\DCMchapter OptionalKeyVals:omgroup {}',sub {
- my ($document,$keyvals,$title,%properties) = @_;
- my $id=$keyvals->getValue('id')||"";
- $document->openElement('omdoc:chapter',('xml:id'=>$id));
- $document->openElement('omdoc:metadata');
- $document->insertElement('dc:title',$title);
- FishOutMetadata($document,$keyvals);
- return;});
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-% \ednote{@DEYAN: I guess since they all do the same as {\texttt{DCMchapter}}, we may
-% actually get away with \texttt{Let(DCMsection,DCMchapter);} here.}
-% \begin{macro}{\DCMsection}
-% \begin{macrocode}
-%<*package>
-\newcommand{\DCMsection}[2][]%
-{\dcm@section{section}{#2}{#1}\sref@label@id{\dcm@section@heading\ \thesection}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMsection OptionalKeyVals:omgroup {}',sub{
- my ($document,$keyvals,$title,%properties) = @_;
- my $id=$keyvals->getValue('id')||"";
- $document->openElement('omdoc:section',('xml:id'=>$id));
- $document->openElement('omdoc:metadata');
- $document->insertElement('dc:title',$title);
- FishOutMetadata($document,$keyvals);
- return;});
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMsubsection}
-% \begin{macrocode}
-%<*package>
-\newcommand{\DCMsubsection}[2][]%
-{\dcm@section{subsection}{#2}{#1}\sref@label@id{\dcm@subsection@heading\ \thesubsection}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMsubsection OptionalKeyVals:omgroup {}',sub{
- my ($document,$keyvals,$title,%properties) = @_;
- my $id=$keyvals->getValue('id')||"";
- $document->openElement('omdoc:subsection',('xml:id'=>$id));
- $document->openElement('omdoc:metadata');
- $document->insertElement('dc:title',$title);
- FishOutMetadata($document,$keyvals);
- return;});
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMsubsubsection}
-% \begin{macrocode}
-%<*package>
-\newcommand{\DCMsubsubsection}[2][]%
-{\dcm@section{subsubsection}{#2}{#1}\sref@label@id{\dcm@subsubsection@heading\ \thesubsubsection}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMsubsubsection OptionalKeyVals:omgroup {}',sub{
- my ($document,$keyvals,$title,%properties) = @_;
- my $id=$keyvals->getValue('id')||"";
- $document->openElement('omdoc:subsubsection',('xml:id'=>$id));
- $document->openElement('omdoc:metadata');
- $document->insertElement('dc:title',$title);
- FishOutMetadata($document,$keyvals);
- return;});
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMparagraph}
-% \begin{macrocode}
-%<*package>
-\newcommand{\DCMparagraph}[2][]%
-{\dcm@section{paragraph}{#2}{#1}\sref@label@id{this \dcm@paragraph@heading}}
-%</package>
-%<*ltxml>
-DefConstructor('\DCMparagraph OptionalKeyVals:omgroup {}',sub{
- my ($document,$keyvals,$title,%properties) = @_;
- my $id=$keyvals->getValue('id')||"";
- $document->openElement('omdoc:paragraph',('xml:id'=>$id));
- $document->openElement('omdoc:metadata');
- $document->insertElement('dc:title',$title);
- FishOutMetadata($document,$keyvals);
- return;});
-%</ltxml>
-% \end{macrocode}
-% \end{macro}
-%
-% We have to make sure that the DCM sectioning and metadata commands have IDs, so that we doc not get
-% duplicates.
-%
-% \begin{macrocode}
-%<*ltxml>
-Tag('omdoc:chapter',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('omdoc:section',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('omdoc:subsection',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('omdoc:subsubsection',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('omdoc:paragraph',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('omdoc:subparagraph',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:description',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:date',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:creator',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:contributor',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:title',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:subject',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:publisher',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:type',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:identifier',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:language',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-Tag('dc:rights',afterOpen=>\&numberIt,afterClose=>\&locateIt,autoClose=>1);
-%</ltxml>
-% \end{macrocode}
-%
-% \DCMsubsection{Dealing with ISO Dates}
-%
-% The first step is to build a macro for making ISO dates.\ednote{make better ltxml}
-%
-% \begin{macrocode}
-%<*package>
-\def\ISOtimestamp{\count1=\time\divide\count1 by 60 % hours
-\count2=\count1\multiply\count2 by 60% minutes in \count1 hours
-\count3=\time\advance\count3 by -\count2 % minutes
-\the\year -\ifnum\month>9\else0\fi\the\month-\ifnum\day>9\else0\fi\the\day
-T\ifnum\count1>9\else0\fi\the\count1:\ifnum\count3>9\else0\fi\the\count3:00Z}
-%</package>
-%<*ltxml>
-RawTeX('\def\ISOtimestamp{\count1=\time\divide\count1 by 60 % hours
-\count2=\count1\multiply\count2 by 60% minutes in \count1 hours
-\count3=\time\advance\count3 by -\count2 % minutes
-\the\year -\the\month-\the\day T\the\count1:\the\count3:00Z}');
-%</ltxml>
-% \end{macrocode}
-%
-%\DCMsubsection{Configuration}
-%
-% \begin{macrocode}
-%<*package>
-\def\dcm@abstract@heading{Abstract}
-\def\dcm@creators@heading{Author(s)}
-\def\dcm@contributors@connector{with contributions from}
-\def\dcm@chapter@heading{Chapter}
-\def\dcm@section@heading{Section}
-\def\dcm@subsection@heading{Subsection}
-\def\dcm@subsubsection@heading{Subsubsection}
-\def\dcm@paragraph@heading{Paragraph}
-%</package>
-% \end{macrocode}
-%
-% \DCMsubsection[id=sec:impl:ids]{Providing IDs for {\omdoc} Elements}
-%
-% To provide default identifiers, we tag all {\omdoc} elements that allow |xml:id|
-% attributes by executing the |numberIt| procedure below.
-%
-% \begin{macrocode}
-%<*ltxml>
-Tag('dc:title',afterOpen=>\&numberIt,afterClose=>\&locateIt);
-%</ltxml>
-% \end{macrocode}
-%
-%\DCMsubsection{Finale}
-%
-% Finally, we need to terminate the file with a success mark for perl.
-% \begin{macrocode}
-%<ltxml>1;
-% \end{macrocode}
-% \Finale
-\endinput
-% \iffalse
-% LocalWords: GPL structuresharing STR LaTeX dcm dtx keyval sref CPERL url qw
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-
-% LocalWords: RequirePackage birthdate personaltitle academictitle workaddress
-% LocalWords: privaddress worktel privtel workfax privfax worktelfax noDelim
-% LocalWords: privtelfax getKeyValue valuelist ToString getValue affill STDERR
-% LocalWords: ExportMetadata AssignValue DCMperson DefConstructor afterDigest
-% LocalWords: getArg setValue FishOutMetadata keyvals foreach idlist tabline
-% LocalWords: LookupValue insertElement atabline bitabline shorttitle nc args
-% LocalWords: sharealike noderivativeworks DefMacro authorblock subsubsection
-% LocalWords: contribs OptionalKeyVals omgroup omdoc srcref locator xml RawTeX
-% LocalWords: openElement iffalse kohlhase Thu scsys sc sc latexml DCmetadata
-% LocalWords: maketitle DCMtitle texttt fileversion DCMcreators miko jdoe impl
-% LocalWords: DCMabstract setcounter tocdepth tableofcontents newpage dmt03
-% LocalWords: DCMsection ednote DCMsubsection exfig hline dcmblock Patashnik
-% LocalWords: DescribeEnv DCMcontributors DCMshorttitle DCMshorttitle DCMdate
-% LocalWords: DCMsubject DCMsubject DCMdescription DCMdescription DCMpublisher
-% LocalWords: DCMpublisher DCMdate DCMtype DCMtype DCMidentifier DCMidentifier
-% LocalWords: DCMsource DCMsource DCMlanguage DCMlanguage DCMrelation ctancite
-% LocalWords: DCMrelation DCMrights DCMrights DCMlicense DCMlicense titlepage
-% LocalWords: DCMlicensenotice DCMlicensenotice DCMcopyrightnotice titlepage
-% LocalWords: DCMcopyrightnotice DCMcclicense DCMcclicense user.blockstyles
-% LocalWords: DCMchapter DCMchatper DCMsubsubsection DCMsubsubsection ltxml
-% LocalWords: user.conig makeatletter printbibliography expandafter
-% LocalWords: xdef csname endcsname newcommand ifx ifundefined affs
-% LocalWords: Semiverbatim whatsit newenvironment mtabline providecommand vfil
-% LocalWords: DCMsubtitle cclicense defdcm impl.blockstyles newcounter vskip
-% LocalWords: stepcounter tabularnewline theauthors lineskip textbf noindent
-% LocalWords: omd omd srefaddidkey thechapter autoclose thesection ifnum ifnum
-% LocalWords: thesubsection thesubsubsection DCMparagraph ISOtimestamp doctex