summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/dcm/dcm.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/dcm/dcm.dtx')
-rw-r--r--Master/texmf-dist/source/latex/stex/dcm/dcm.dtx100
1 files changed, 69 insertions, 31 deletions
diff --git a/Master/texmf-dist/source/latex/stex/dcm/dcm.dtx b/Master/texmf-dist/source/latex/stex/dcm/dcm.dtx
index c78aeb8566f..ba7bdc3df31 100644
--- a/Master/texmf-dist/source/latex/stex/dcm/dcm.dtx
+++ b/Master/texmf-dist/source/latex/stex/dcm/dcm.dtx
@@ -1,8 +1,8 @@
% \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: 1502 $; last modified by $Author: kohlhase $
-% $Date: 2010-07-20 10:17:00 +0200 (Tue, 20 Jul 2010) $
+% $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)
@@ -21,8 +21,9 @@
\bibliography{kwarc}
\usepackage{../ctansvn}
\usepackage{hyperref}
+\usepackage{stex-logo}
\usepackage[eso-foot,today]{svninfo}
-\svnInfo $Id: dcm.dtx 1502 2010-07-20 08:17:00Z kohlhase $
+\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}
@@ -32,11 +33,12 @@
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
%
-%\CheckSum{667}
+%\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}
@@ -72,6 +74,12 @@
%
% \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
@@ -261,10 +269,39 @@
% \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}
@@ -288,22 +325,22 @@ RequirePackage('sref');
%
% \begin{macrocode}
%<*package>
-\omdaddkey{dcm@person}{id}
-\omdaddkey{dcm@person}{birthdate}
-\omdaddkey{dcm@person}{email}
-\omdaddkey{dcm@person}{url}
-\omdaddkey{dcm@person}{affiliation}
-\omdaddkey{dcm@person}{personaltitle}
-\omdaddkey{dcm@person}{academictitle}
-\omdaddkey{dcm@person}{department}
-\omdaddkey{dcm@person}{workaddress}
-\omdaddkey{dcm@person}{privaddress}
-\omdaddkey{dcm@person}{worktel}
-\omdaddkey{dcm@person}{privtel}
-\omdaddkey{dcm@person}{workfax}
-\omdaddkey{dcm@person}{privfax}
-\omdaddkey{dcm@person}{worktelfax}
-\omdaddkey{dcm@person}{privtelfax}
+\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}
%
@@ -347,7 +384,7 @@ sub ExportMetadata {
% \begin{macro}{DCMPerson}
% \begin{macrocode}
%<*package>
-\newcommand{\DCMperson}[2][]{\omdsetkeys{dcm@person}{#1}
+\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}
@@ -389,7 +426,6 @@ DefKeyVal('dcm@person','worktelfax','Semiverbatim');
DefKeyVal('dcm@person','privtelfax','Semiverbatim');
DefConstructor('\DCMperson OptionalKeyVals:dcm@person {}','',
-beforeDigest=> sub { AssignValue(inPreamble=>0); },
afterDigest=>sub {
my ($stomach,$whatsit)=@_;
my $keys=$whatsit->getArg(1);
@@ -447,7 +483,7 @@ DefEnvironment('{DCmetadata}[]', "<omdoc:metadata>#body</omdoc:metadata>");
%
% \begin{macrocode}
%<*package>
-\def\dc@mtabline#1#2{\xdef\tab@line{}%
+\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{}%
@@ -767,13 +803,14 @@ DefConstructor('\DCMabstract{}',"<dc:description>#1</dc:description>");
% \DCMsubsection{Augmented Sectioning Macros}
%
% \begin{macro}{\dcm@sect@clear@keys}
-% We first define the sectioning keys with the infrastructure from the |omd| package~\ctancite{Kohlhase:omd}
+% We first define the sectioning keys with the infrastructure from the |metakeys|
+% package~\ctancite{Kohlhase:metakeys}
% \begin{macrocode}
%<*package>
\srefaddidkey{dcm@sect}
-\omdaddkey{dcm@sect}{short}
-\omdaddkey{dcm@sect}{creators}
-\omdaddkey{dcm@sect}{contributors}
+\addmetakey{dcm@sect}{short}
+\addmetakey{dcm@sect}{creators}
+\addmetakey{dcm@sect}{contributors}
%</package>
% \end{macrocode}
% \end{macro}
@@ -785,7 +822,7 @@ DefConstructor('\DCMabstract{}',"<dc:description>#1</dc:description>");
% |\dcm@section@*@style| macro specified \meta{style}.
% \begin{macrocode}
%<*package>
-\def\dcm@section#1#2#3{\def\dcm@sect@type{#1}\omdsetkeys{dcm@sect}{#3}\sref@target%
+\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} %
@@ -970,6 +1007,7 @@ RawTeX('\def\ISOtimestamp{\count1=\time\divide\count1 by 60 % hours
\def\dcm@section@heading{Section}
\def\dcm@subsection@heading{Subsection}
\def\dcm@subsubsection@heading{Subsubsection}
+\def\dcm@paragraph@heading{Paragraph}
%</package>
% \end{macrocode}
%
@@ -1020,8 +1058,8 @@ Tag('dc:title',afterOpen=>\&numberIt,afterClose=>\&locateIt);
% LocalWords: DCMlicensenotice DCMlicensenotice DCMcopyrightnotice titlepage
% LocalWords: DCMcopyrightnotice DCMcclicense DCMcclicense user.blockstyles
% LocalWords: DCMchapter DCMchatper DCMsubsubsection DCMsubsubsection ltxml
-% LocalWords: user.conig makeatletter printbibliography omdaddkey expandafter
-% LocalWords: xdef csname endcsname newcommand omdsetkeys ifx ifundefined affs
+% 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