diff options
author | Karl Berry <karl@freefriends.org> | 2015-07-22 23:02:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-07-22 23:02:14 +0000 |
commit | 7925857aaa072c8a2029848c3b9c5a480fd8cc87 (patch) | |
tree | bd092ec6d27f72f8065174ae479fa2cbd7766fe2 /Master | |
parent | c7fbeeaff8d1548d8bb4dc7e3e4dd49846d0e974 (diff) |
copyedit (22jul15)
git-svn-id: svn://tug.org/texlive/trunk@37928 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/copyedit/README | 50 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/copyedit/copyedit.pdf | bin | 0 -> 262380 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/copyedit/example/test-copy.pdf | bin | 0 -> 46878 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/copyedit/example/test-copy.tex | 165 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/copyedit/manifest.txt | 16 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/copyedit/copyedit.dtx | 757 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/copyedit/copyedit.ins | 39 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/copyedit/copyedit.sty | 329 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/copyedit.tlpsrc | 0 |
10 files changed, 1357 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/copyedit/README b/Master/texmf-dist/doc/latex/copyedit/README new file mode 100644 index 00000000000..e1b6a4963fc --- /dev/null +++ b/Master/texmf-dist/doc/latex/copyedit/README @@ -0,0 +1,50 @@ +Readme for copyedit package (copyedit.sty) + +Copyedit implements copyediting support for LaTeX documents. Authors +can enjoy the freedom of using, for example, words with US or UK or +Canadian or Australian spelling in a mixed way, yet, they can choose +any one of the usage form for their entire document irrespective of +kinds of spelling they have adopted. In the same fashion, the users +can have the benefit of following features available in the package: + +1. Localization --- British-American-Australian-Canadian + +2. Close-up, Hyphenation, and Spaced words + +3. Latin abbreviations + +4. Acronyms and Abbreviations + +5. Itemization, nonlocal lists and labels + +6. Parenthetical and serial commas + +7. Non-local tokenization in language through Abbreviations and + pronouns. + + +Installation: + +Create a directory $TEXMF/tex/latex/copyedit and copy copyedit.sty to +this directory. Update the file database of your TeX system. + +Documentation: + +Composite documentation and code is available in copyedit.dtx. Run +TeX/LaTeX on copyedit.ins to extract copyedit.sty from copyedit.dtx. +If you [pdf]LaTeX copyedit.dtx, you will get copyedit.pdf which is the +human readable documentation. + +The example directory has source and output of an example document and +the doc directory has an article written by authors on the subject. + +Licence: + +The package is released under LaTeX Project Public Licence. + +Authors: + +CV Radhakrishnan <cvr@cvr.cc> +CV Rajagopal <cvr3@cvr.cc> +SK Venkatesan <skvenkat@tnq.co.in> + diff --git a/Master/texmf-dist/doc/latex/copyedit/copyedit.pdf b/Master/texmf-dist/doc/latex/copyedit/copyedit.pdf Binary files differnew file mode 100644 index 00000000000..5c497830c1b --- /dev/null +++ b/Master/texmf-dist/doc/latex/copyedit/copyedit.pdf diff --git a/Master/texmf-dist/doc/latex/copyedit/example/test-copy.pdf b/Master/texmf-dist/doc/latex/copyedit/example/test-copy.pdf Binary files differnew file mode 100644 index 00000000000..035d9bbd156 --- /dev/null +++ b/Master/texmf-dist/doc/latex/copyedit/example/test-copy.pdf diff --git a/Master/texmf-dist/doc/latex/copyedit/example/test-copy.tex b/Master/texmf-dist/doc/latex/copyedit/example/test-copy.tex new file mode 100644 index 00000000000..b791122fadf --- /dev/null +++ b/Master/texmf-dist/doc/latex/copyedit/example/test-copy.tex @@ -0,0 +1,165 @@ +\documentclass[a4paper]{article} + +\usepackage[lat=2,lang=ca,abbr=italic,last=true,eitem=4]{copyedit} + +% +% all the options can be changed in the middle of the document or +% anywhere in the document with the command: +% +% \cesetup{c<comma separated list of options>} +% + +\usepackage[sc,osf]{mathpazo} +\usepackage{lipsum} + +\begin{document} + +\parindent 0pt +\parskip 12pt +\advance\baselineskip by 3pt + +\newacro{H2O}[$\mathrm{H_2O}$]{Dihygrogen Monoxide} +\newacro{WHO}[W.H.O.]{World Health Organization} + +\subsubsection*{Language Variants} + +\lipsum[1] + +\definevariant{colour}{color}{COLOR}{Color} + +\cesetup{lang=uk} + +\vara{colour} +\vara{color} +\vara{COLOR} +\vara{Color} + +\cesetup{lang=us} + +\vara{colour} +\vara{color} +\vara{COLOR} +\vara{Color} + +\cesetup{lang=ca} + +\vara{colour} +\vara{color} +\vara{COLOR} +\vara{Color} + +\cesetup{lang=au} + +\vara{colour} +\vara{color} +\vara{COLOR} +\vara{Color} + +\subsubsection*{Hyphenate, etc} + +\closeup{anti}{body} and for that matter \hyp{anti}{body}. +\sword{Civil}{War}. + +\subsubsection*{Latin abbreviation} + +\definelat{e.g.}{eg}{for example} + +First option keeps the abbreviation as such: +\cesetup{lat=0} \lat{e.g.}. + +The second option remove all dots: +\cesetup{lat=1,abbr=rm} \lat{e.g.}. + +The third one switches to English equivalent: +\cesetup{lat=2} \lat{e.g.}. + +\subsubsection*{Acronym} + +\ac{H2O} + +\ac{WHO} + +\lipsum[2] + +\ac{H2O} + +\ac{WHO} + +\medskip + +\subsubsection*{Parenthetical Comma} + +\cesetup{pc=0} +The enthusiastic young ducks flying in front of the group +\pc{led by the sugecious older ones at the back, make a lot of noise + and turbulence} which are used by older ones at the back to warm +their heart and the wing. + +\cesetup{pc=1} +The enthusiastic young ducks flying in front of the group +\pc{led by the sugecious older ones at the back, make a lot of noise + and turbulence} which are used by older ones at the back to warm +their heart and the wing. + +\cesetup{pc=2} +The enthusiastic young ducks flying in front of the group +\pc{led by the sugecious older ones at the back, make a lot of noise + and turbulence} which are used by older ones at the back to warm +their heart and the wing. + +\cesetup{pc=3} +The enthusiastic young ducks flying in front of the group +\pc{led by the sugecious older ones at the back, make a lot of noise + and turbulence} which are used by older ones at the back to warm +their heart and the wing. + +\cesetup{pc=4} +The enthusiastic young ducks flying in front of the group +\pc{led by the sugecious older ones at the back, make a lot of noise + and turbulence} which are used by older ones at the back to warm +their heart and the wing. + + +\elist{warblers,tits,wrens,hummingbirds} + +No problems even if the space is not cared for in the list: + +\elist{warblers , tits, wrens,hummingbirds } + +\definetoken{mango}{His Holyness, the Prince of Mangoistan}{The Prince of + Mangoistan}{He} + +Full: \Token{mango} + +Part: \Token{mango} + +Short: \Token{mango} + +Short: \Token{mango} + +\subsubsection*{Eitem} + +% \cesetup{eitem=0,last} +% \cesetup{eitem=1,last} +% \cesetup{eitem=2,last} +% \cesetup{eitem=3,last} +% \cesetup{eitem=4,last} + \cesetup{eitem=5,last} + + +\begin{eitem} + +\item one +\item two +\item three +\item four +\item five +\item six +\item seven +%\item eight +%\item nine +%\item ten + +\end{eitem} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/copyedit/manifest.txt b/Master/texmf-dist/doc/latex/copyedit/manifest.txt new file mode 100644 index 00000000000..5bac16aa0b9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/copyedit/manifest.txt @@ -0,0 +1,16 @@ +Contents of 'copyedit' package +------------------------------ + +README Readme file + +copyedit.ins installer file +copyedit.dtx documented source file + +copyedit.pdf pdf output of documented source + +example/test-copy.tex example LaTeX source file +example/test-copy.pdf pdf output of example + + + + diff --git a/Master/texmf-dist/source/latex/copyedit/copyedit.dtx b/Master/texmf-dist/source/latex/copyedit/copyedit.dtx new file mode 100644 index 00000000000..b0741c8de4d --- /dev/null +++ b/Master/texmf-dist/source/latex/copyedit/copyedit.dtx @@ -0,0 +1,757 @@ +% \iffalse meta-comment +% +%% +%% This is file 'copyedit.dtx' +%% ........................... +%% +%% (c) 2014,2015, +%% CV Radhakrishnan <cvr@cvr.cc>, JWRA 34, Jagathy, +%% Trivandrum 695014, India +%% CV Rajagopal <cvr3@cvr.cc>, SRA 34C, Elipode, +%% Vattiyoorkavu, Trivandrum 695013, India +%% SK Venkatesan <skvenkat@tnq.co.in>, TNQ Books and Journals +%% Pvt Ltd, Kottivakkam, Chennai 600041, India +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License (LPPL), either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% +%% http://www.latex-project.org/lppl.txt +%% +%% The list of all files belonging to the 'copyedit' is +%% given in the file `manifest.txt'. +%% +% +%<*driver|package> +% The version of expl3 required is tested as early as possible, as +% some really old versions do not define \ProvidesExplPackage. +\RequirePackage{expl3}[2014/07/20] +%<package>\@ifpackagelater{expl3}{2014/07/20} +%<package> {} +%<package> {% +%<package> \PackageError{copyedit}{Support package l3kernel too old} +%<package> {% +%<package> Please install an up to date version of l3kernel\MessageBreak +%<package> using your TeX package manager or from CTAN.\MessageBreak +%<package> \MessageBreak +%<package> Loading copyedit will abort!% +%<package> }% +%<package> \endinput +%<package> } +\RequirePackage{acronym,l3str,l3keys2e,xparse} +%%%% $Id: copyedit.dtx,v 1.6 2015/07/21 07:27:11 cvr Exp cvr $ +\GetIdInfo$Id: copyedit.dtx,v 1.6 2015-07-21 07:27:11 cvr Exp cvr $ + {TeX and Copyediting (CVR)} +%</driver|package> +%<*driver> +\documentclass[full]{l3doc} +\usepackage{xcolor} +\colorlet{vcolor}{magenta} +\usepackage{array} +\usepackage[lat=0]{copyedit} +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +%</driver> +% \fi +% +% \title{ \TeX{} and Copyediting } +% +% \author{ CV Radhakrishnan\thanks +% { \textsc{jwra} 34, Jagathy, Trivandrum 695014, India, E-mail: +% \href{mailto:cvr@cvr.cc}{\ttfamily<cvr@cvr.cc>} }, +% ~CV Rajagopal\thanks{\textsc{sra} 34c, Elipode, Trivandrum 695013, +% India, E-mail: \href{mailto:cvr3@cvr.cc} +% {\ttfamily<cvr3@cvr.cc>}} +% ~and SK Venkatesan\thanks{\textsc{tnq b}ooks and Journals, Kottivakkam, +% Chennai 600041, India, E-mail: \href{mailto:skvenkat@tnq.co.in} +% {\ttfamily<skvenkat@tnq.co.in>}} +% } +% +% \date{Released \ExplFileDate} +% +% \maketitle +% +% \begin{documentation} +% +% \pkg{Copyedit} implements copyediting support for \LaTeX{} +% documents. Authors can enjoy the freedom of using, for example, +% using words with \textsc{us} or \textsc{uk} or Canadian or Australian +% spelling in a mixed way, yet, they can choose any one of the usage +% form for their entire document irrespective of kinds of spelling +% they have adopted. In the same fashion, the users can have the +% benefit of following features available in the package: +% +% \begin{enumerate} +% \item Localization --- British-American-Australian-Canadian +% \item Close-up, Hyphenation, and Spaced words +% \item Latin abbreviations +% \item Acronyms and Abbreviations +% \item Itemization, nonlocal lists and labels +% \item Parenthetical and serial commas +% \item Non-local tokenization in language through Abbreviations and +% pronouns. +% \end{enumerate} +% +% \section{Package Loading} +% +% The \pkg{copyedit} package can be loaded with the command: +% \begin{verbatim} +% \usepackage[<options>]{copyedit} +% \end{verbatim} +% +% \begin{function}{\ceset,\cesetup} +% \begin{syntax} +% \cs{ceset} \Arg{options}\\ +% \cs{cesetup} \Arg{options} +% \end{syntax} +% There is a user-friendly function, namely, \cs{ceset} or +% \cs{cesetup} available which can be used anywhere in the document +% to change the options or behaviour of the package from that point +% onwards. The usage of the function is: +% +% The \meta{options} shall be provided as a comma separated list. +% \end{function} +% +% \section{Using the Features} +% +% \subsection{Localization --- British, American, Australian and Canadian} +% +% \begin{function}{\definevariant} +% The package provides a database of commonly used English language +% words in all the above four variant spelling. One can add new +% entries to the list with the command: +% \begin{syntax} +% \cs{definevariant}\Arg{uk}\Arg{us}\Arg{au}\Arg{ca} +% \end{syntax} +% The variants, \meta{uk}, \meta{us}, \meta{au} and \meta{ca} denote +% British, American, Australian and Canadian spelling respectively. +% \end{function} +% +% \begin{function}{\vara} +% \begin{syntax} +% \cs{vara} \Arg{variant} +% \end{syntax} +% In the document, one can use the macro \cs{vara}\marg{variant}. +% The user is free to use a combination of words of various spelling, +% but output will totally be dependent on the option of locale chosen +% for the document. For the sake of distinction and to prove our +% point, let us assume that the word \meta{color} has the following +% four different spelling in four different locale: +% \end{function} +% \begin{enumerate}[itemsep=0pt] +% \item UK: colour +% \item US: color +% \item AU: COLOUR +% \item CA: COLOR +% \end{enumerate} +% By using the four words in the following manner: +% \begin{verbatim} +% \vara{colour} \vara{color} \vara{COLOUR} \vara{COLOR} +% \end{verbatim} +% and by using various language option with different values for the +% option \marg{lang}, we can switch across different languages for +% all four words, no matter, whatever locate spelling one has adopted +% for the word in the document instance. +% \begin{enumerate}[itemsep=0pt] +% \item |lang=uk| $\longrightarrow$ colour colour colour colour +% \item |lang=us| $\longrightarrow$ color color color color +% \item \dots +% \end{enumerate} +% +% \begin{function}{starred \vara} +% If for any reason, the user chooses to retain the word as it is then +% it is possible by using the starred version of the macro: +% \begin{syntax} +% \cs{vara*}\Arg{word} +% \end{syntax} +% \end{function} +% +% \subsection{Close-up, Hyphenation, Spaced Words} +% +% \begin{function}{\hyp,\closeup,\sword} +% \begin{syntax} +% \cs{hyp}\Arg{word}\Arg{word}\\ +% \cs{closeup}\Arg{word}\Arg{word}\\ +% \cs{sword}\Arg{word}\Arg{word} +% \end{syntax} +% \end{function} +% \noindent There are three commands that make the above possible: +% \begin{enumerate}[itemsep=0pt] +% \item |\hyp{anti}{body}| $\longrightarrow$ anti-body (hyphenate) +% \item |\closeup{anti}{body}| $\longrightarrow$ antibody (close up) +% \item |\sword{Civil}{War}| $\longrightarrow$ Civil War (space our) +% \end{enumerate} +% +% \subsection{Latin Abbreviation} +% +% \begin{function}{\definelat,\lat} +% \begin{syntax} +% \cs{definelat} \Arg{abbr} \Arg{abbr without dots} \Arg{English form}\\ +% \cs{lat} \Arg{abbr} +% \end{syntax} +% \end{function} +% \noindent Latin abbreviations can be used in different ways. The +% option |lat=0| will keep the Latin abbreviation as such in form in +% italic shape. |abbr=italic| will make the abbreviation italicized +% (which is also default). |abbr=rm| will make it upshape. |lat=1| +% will take away the periods in the abbreviated Latin forms while +% |lat=2| will replace the abbreviation with its English language +% equivalents. +% +% The package comes with a default list of abbreviations. Users shall +% use the command \cs{lat}\Arg{abbr} to invoke the desired format of +% abbeviation in the document instance. +% +% +% \subsection{Acronyms} +% +% \begin{function}{\newacro,\ac} +% \begin{syntax} +% \cs{newacro} \Arg{short form} \Arg{long form}\\ +% \cs{ac} \Arg{short form} +% \end{syntax} +% \end{function} +% \noindent The highly aclaimed package, namely, \pkg{acronym} has +% been made use of to achieve the extensive features available +% therein. Kindly refer to its documentation for getting an +% understanding of the usage. +% +% \subsection{Itemization and Non-local Lists} +% +% A list environment, namely, |eitem| has been defined which can be +% used for a variety of purposes as enlisted below by changing its +% options. +% +% \begin{flushleft} +% \begin{tabular}{@{}ll} +% \bfseries Option & \bfseries Rendering\\[3pt] +% |eitem=0| & normal list: Firstly, Secondly, Thirdly, \dots\\ +% |eitem=1| & normal list: First, Second, Third, \dots\\ +% |eitem=2| & enumerated list: 1, 2, 3, \dots\\ +% |eitem=3| & itemized bulletted list\\ +% |eitem=4| & para list: Firstly, secondly, thirdly, \dots\\ +% |eitem=5| & para list: First, second, third, \dots\\ +% \end{tabular} +% \end{flushleft} +% +% In the para list forms, each item will be separated by semicolon +% (|;|) and the penultimate item will be connected to the last one by +% the `|and|' automatically. +% +% \begin{function}{\elist} +% \begin{syntax} +% \cs{elist} \Arg{comma separated list} +% \end{syntax} +% \end{function} +% \noindent +% There is also a convenient command, ``|elist|'' that helps to format +% a comma separated list in a proper way with proper spacing. For +% example, +% \begin{verbatim} +% \elist{warblers,tits,wrens,hummingbirds} +% \elist{warblers , tits, wrens ,hummingbirds} +% \end{verbatim} +% will be formatted in the proper way with right spacing and correct +% punctuation: +% \begin{quote}\color{vcolor} +% warblers, tits, wrens and hummingbirds +% \end{quote} +% +% \subsection{Parenthetical and Serial Comma} +% +% \begin{function}{\pc} +% \begin{syntax} +% \cs{pc} \Arg{text to be included} +% \end{syntax} +% \end{function} +% \noindent This is accomplished with the command \cs{pc} and the text +% to be distiguished shall be its argument. Different values for +% option with the same name, |pc|, provide different functionality as +% detailed below: +% +% \begin{flushleft} +% \begin{tabular}{@{}ll} +% \bfseries Option & \bfseries Rendering\\[3pt] +% |pc=0| & argument is separated by parenthetical commas\\ +% |pc=1| & separated by parenthesis\\ +% |pc=2| & separated by emdashes\\ +% |pc=3| & formatted as a footnote \\ +% |pc=4| & formatted as a sidenote (marginpar) +% \end{tabular} +% \end{flushleft} +% +% \subsection{Non-local Tokenization} +% +% \begin{function}{\definetoken,\tkn} +% \begin{syntax} +% \cs{definetoken} \Arg{label} \Arg{full tokens} \Arg{less tokens} +% \Arg{least tokens} \\ +% \cs{tkn} \Arg{label} +% \end{syntax} +% \end{function} +% \noindent A sequence of minimization operation can be brought out by +% first defining the tokens to be minimized and then using the same +% consecutively will typeset the tokens in differently and minimized +% manner each time it is called. We define a token as: +% \begin{verbatim} +% \definetoken{mango}{His Holyness, the Prince of Mangoistan} +% {The Prince of Mangoistan}{He} +% \end{verbatim} +% will have different output as given below: +% +% \begin{flushleft} +% \begin{tabular}{@{}ll} +% \bfseries Command & \bfseries Rendering\\[3pt] +% First instance: \cs{tkn}|{mango}| & His Holyness, the Prince of Mangoistan\\ +% Second: \cs{tkn}|{mango}|& The Prince of Mangoistan\\ +% Third: \cs{tkn}|{mango}|& He \\ +% Fourth: \cs{tkn}|{mango}|& He +% \end{tabular} +% \end{flushleft} +% +% \end{documentation} +% +% \begin{implementation} +% +% \section{\pkg{copyedit} implementation} +% +% \begin{macrocode} +%<*initex|package> +% \end{macrocode} +% +% \begin{macrocode} +%<@@=cedt> +% \end{macrocode} +% +% \begin{macrocode} +\ProvidesExplPackage + {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} +% \end{macrocode} +% +%\begin{macro}{\@@_load_check:n} +% There are also a number of packages that are incompatible with +% \pkg{copyedit}. These are all checked for next. Some of the +% incompatible packages will not raise an error if loaded after +% \pkg{copyedit}. So a test is made at the beginning of the +% document as well. The message for this may be needed immediately, so +% it is created here not with the other messages. +% \begin{macrocode} +\msg_new:nnnn { copyedit } { incompatible-package } + { Package~'#1'~incompatible. } + { The~#1~package~and~copyedit~are~incompatible. } +\cs_new_protected:Npn \@@_load_check:n #1 + { + \group_begin: + \@ifpackageloaded {#1} + { \msg_error:nnx { copyedit } { incompatible-package } {#1} } + { } + \group_end: + } +\clist_map_function:nN + { Array , MyPackage } + \@@_load_check:n +\AtBeginDocument { + \clist_map_function:nN { Array , MyPackage } + \@@_load_check:n + } +% \end{macrocode} +%\end{macro} +% +% \begin{macro}{\wrAux} +% \begin{macrocode} +\NewDocumentCommand \wrAux { m } + { \iow_now:Nx \@auxout { #1 } } +% \end{macrocode} +% A simple scratch macro to write out stuff to the auxiliary file. +% There should be some elegant way or macro for the job. +% +% \end{macro} +% +% \begin{macro}{\l@@_lat_int,\l@@_pc_int,\l@@_lang_int,\l@@_eitem_int} +% Needed counters and functions to use the counters are defined in advance. +% \begin{macrocode} +\int_new:N \l@@_lat_int +\NewDocumentCommand \setlat { m } + { \int_set:Nn \l@@_lat_int { #1 } } + +\int_new:N \l@@_pc_int +\NewDocumentCommand \setpc { m } + { \int_set:Nn \l@@_pc_int { #1 } } + +\int_new:N \l@@_lang_int +\NewDocumentCommand \setlang { m } + { \int_set:Nn \l@@_lang_int { #1 } } + +\int_new:N \l@@_eitem_int +\NewDocumentCommand \seteitem { m } + { \int_set:Nn \l@@_eitem_int { #1 } } +\int_new:N \l@@_abbr_int + +\NewDocumentCommand \setabbr { m } + { + \str_if_eq:nnTF { #1 } { italic } + { \int_set:Nn \l@@_abbr_int { 0 } } + { \int_set:Nn \l@@_abbr_int { 1 } } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_lang_check:n} +% +% Define a function to check language code +% and set the language numeric counter. +% +% \begin{macrocode} +\cs_new_protected:Npn \@@_lang_check:n #1 + { + \str_if_eq:nnT { #1 } { uk } { \setlang { 0 } } + \str_if_eq:nnT { #1 } { us } { \setlang { 1 } } + \str_if_eq:nnT { #1 } { ca } { \setlang { 2 } } + \str_if_eq:nnT { #1 } { au } { \setlang { 3 } } + } +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{} +% +% Define key-values as per expl3 syntax: +% \begin{macrocode} +\keys_define:nn { copyedit } + { + lang .code:n = \@@_lang_check:n { #1 } , + lat .code:n = \setlat { #1 } , + abbr .code:n = \setabbr{ #1 } , + pc .code:n = \setpc { #1 } , + draft .bool_set:N = \l@@_draft_bool , + last .bool_set:N = \l@@_last_bool , + eitem .code:n = \seteitem { #1 } , + key-unknown .code:n = + { + \msg_error:nnx { copyedit } { unknown-option } + { \exp_not:V \l_keys_key_tl } + } + } +% \end{macrocode} +% +% Set key-values and process key-value options. +% +% \begin{macrocode} +\keys_set:nn { copyedit } + { + lang = { uk } , + lat = { 0 } , + abbr = { italic } , + pc = { 0 } , + draft = { false } , + last = { false } , + eitem = { 0 } , + } + +\ProcessKeysOptions { copyedit } +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ceset,\cesetup} +% +% A macro, \cs{ceset} has been defined to invoke any option at any +% point in the document instance. A variant, \cs{cesetup}, has also +% been defined. +% +% \begin{macrocode} +\NewDocumentCommand \ceset { m } + { + \keys_set:nn { copyedit } { #1 } + \@@_lang_check:n { \l@@_lang_tl } + } +\cs_set_eq:NN \cesetup \ceset +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\switchvariant,\definevariant,\vara} +% \cs{swtchvariant} is an internal function that will help to switch +% between different locale as per the language option chosen. +% \cs{definevariant} is the one for defining different locale and +% \cs{vara} is the user level command for using in document +% instance. +% +% \begin{macrocode} +\NewDocumentCommand \switchvariant { m m m m } + { + \int_case:nn { \l@@_lang_int } + { + { 0 } { #1 } + { 1 } { #2 } + { 2 } { #3 } + { 3 } { #4 } + } + } + +\NewDocumentCommand \definevariant { m m m m } + { + \tl_set:cn { g_vara_#1_tl } + { \switchvariant { #1 } { #2 } { #3 } { #4 } } + \tl_set:cn { g_vara_#2_tl } + { \switchvariant { #1 } { #2 } { #3 } { #4 } } + \tl_set:cn { g_vara_#3_tl } + { \switchvariant { #1 } { #2 } { #3 } { #4 } } + \tl_set:cn { g_vara_#4_tl } + { \switchvariant { #1 } { #2 } { #3 } { #4 } } + } + +\DeclareDocumentCommand \vara { s m } + { + \IfBooleanTF {#1} + { #2 } + { \normalvara {#2} } + } + +\NewDocumentCommand \normalvara { m } + { + \use:c { g_vara_#1_tl } + } +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\hyp,\closeup,sword} +% +% \cs{hyp}, \cs{closeup} and \cs{sword} are three simple macros to +% hyphenate, close up and separate two words respectively. +% \begin{macrocode} +\NewDocumentCommand \hyp { m m } { #1-#2 } +\NewDocumentCommand \closeup { m m } { #1#2 } +\NewDocumentCommand \sword { m m } { #1~#2 } +% \end{macrocode} +% \end{macro} +% +% +%\begin{macro}{\definelat,\lat} +% +% Latin abbreviation and its variant forms can be brought in by these +% macros. +% \begin{macrocode} +\NewDocumentCommand \definelat { m m m } + { + \tl_set:cn { g_@@_lat_#1_tl } + { + \group_begin: + \int_case:nn { \l@@_abbr_int} + { + { 0 } { \itshape } + { 1 } { \upshape } + } + \int_case:nn { \l@@_lat_int } + { + { 0 } { #1 } + { 1 } { #2 } + { 2 } { #3 } + } + \group_end: + } + } + +\NewDocumentCommand \lat { m } { \use:c { g_@@_lat_#1_tl } } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pc,\elist} +% +% Parenthetical comma (pc) and its variants are chosen with this macro +% in combination with different options. +% \begin{macrocode} +\NewDocumentCommand \pc { m } + { + \int_case:nn { \l@@_pc_int } + { + { 0 } { \unskip,~#1,~ } + { 1 } { (#1) } + { 2 } { ---~#1~--- } + { 3 } { \unskip\footnote{#1} } + { 4 } { \marginpar{ \footnotesize\raggedright#1} } + } + } +\clist_new:N \l@@_clist +\NewDocumentCommand \elist { m } + { + \clist_set:Nn \l@@_clist { #1 } + \clist_use:Nnnn \l@@_clist { ~and~ } { ,~ } { ~and~ } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\definetoken,\tkn,\Token} +% +% Non-local tokenization +% +% \begin{macrocode} +\NewDocumentCommand \definetoken { m m m m } + { + \tl_gset:cn { #1num } { 0 } + \tl_gset:cn { g_toks_#1_0_tl } { #2 \tl_gset:cn { #1num } { 1 } } + \tl_gset:cn { g_toks_#1_1_tl } { #3 \tl_gset:cn { #1num } { 2 } } + \tl_gset:cn { g_toks_#1_2_tl } { #4 \tl_gset:cn { #1num } { 2 } } + } +\NewDocumentCommand \tkn { m } + { \use:c { g_toks_#1_\use:c{#1num}_tl } } +\cs_set_eq:NN \Token \tkn +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{eitem} +% \env{eitem} is defined to switch between non-local list of +% different types. We make use of the package \pkg{enumitem} for +% this purpose. +% +% \begin{macrocode} +\RequirePackage{enumitem} +\chardef\thre@=3 +\newenvironment{enumerate*}[1][]% + {\@nameuse{enit@enumerate*}\enitdp@enumerate{enum}\thre@{#1}} + {\@nameuse{enit@endenumerate*}} +% \end{macrocode} +% +% A few macros like, \cs{lastlabel}, \cs{mysep}, \cs{myseplast}, +% \cs{elistcnt}, \cs{LastItem} are defined to make the job easier. +% +% \begin{macrocode} +\int_new:N \l@@_elistcnt_int +\NewDocumentCommand \lastlabel { } { \tex_xdef:D\@itemlabel{Lastly}} +\NewDocumentCommand \mysep { } { ;\hskip .5em plus .1em minus .1em } +\NewDocumentCommand \myseplast { } {\space and \space } +\NewDocumentCommand \elistcnt { } { \int_use:N \l@@_elistcnt_int } +\NewDocumentCommand \LastItem { m m } + { \tl_gset:cn { l@@_tmpa_#1_tl } { #2 } } +% \end{macrocode} +% +% \begin{macro}{\checklast} +% \cs{checklast} is the macro that finds the last item number and +% substitutes with |Last| or |Lastly| depending upon the option +% chosen. +% +% \begin{macrocode} +\NewDocumentCommand \checklast { m } + { + \tl_if_exist:cTF { l@@_tmpa_ \elistcnt _tl } + { \int_set:Nn \l_tmpa_int { \use:c{ l@@_tmpa_\elistcnt _tl }} } + { \int_set:Nn \l_tmpa_int { 0 } } + \int_set:Nn \l_tmpb_int { \the\c@enumi } + \int_compare:nNnTF { \l_tmpa_int } = { \l_tmpb_int } + { + \bool_if:NTF \l@@_last_bool + { + \int_case:nn { \l@@_eitem_int } + { + { 0 } { Lastly, } + { 1 } { Last, } + { 4 } { lastly, } + { 5 } { last, } + } + } + { #1 } + } + { #1 } + } +% \end{macrocode} +% \end{macro} +% +% Smallish set up changes are made to the \pkg{enumitem} to suit the +% requirements. +% +% \begin{macro}{\ctext,\@ctext,\ltext,\@ltext,\paratext,\@paractext,\paraltext,\@paraltext} +% +% These macros act as variables to hold textual values for each item number. +% +% \begin{macrocode} +\makeatletter +\def\ctext#1{\expandafter\@ctext\csname c@#1\endcsname} +\def\@ctext#1{\ifcase#1\or \checklast{First,}\or + \checklast{Second,}\or \checklast{Third,}\or + \checklast{Fourth,}\or \checklast{Fifth,}\or + \checklast{Sixth,}\or \checklast{Seventh,}\or + \checklast{Eigth,}\or \checklast{Nineth,}\or + \checklast{Tenth,}\fi} +\AddEnumerateCounter{\ctext}{\@ctext}{Second,} + +\def\ltext#1{\expandafter\@ltext\csname c@#1\endcsname} +\def\@ltext#1{\ifcase#1\or \checklast{Firstly,}\or + \checklast{Secondly,}\or \checklast{Thirdly,}\or + \checklast{Fourthly,}\or \checklast{Fifthly,}\or + \checklast{Sixthly,}\or \checklast{Seventhly,}\or + \checklast{Eigthly,}\or \checklast{Ninethly,}\or + \checklast{Tenthly,}\fi} +\AddEnumerateCounter{\ltext}{\@ltext}{Secondly,} + +\def\paractext#1{\expandafter\@paractext\csname c@#1\endcsname} +\def\@paractext#1{\ifcase#1\or \checklast{First,}\or + \checklast{second,}\or \checklast{third,}\or + \checklast{fourth,}\or \checklast{fifth,}\or + \checklast{sixth,}\or \checklast{seventh,}\or + \checklast{eigth,}\or \checklast{nineth,}\or + \checklast{tenth,}\fi} +\AddEnumerateCounter{\paractext}{\@paractext}{second,} + +\def\paraltext#1{\expandafter\@paraltext\csname c@#1\endcsname} +\def\@paraltext#1{\ifcase#1\or \checklast{Firstly,}\or + \checklast{secondly,}\or \checklast{thirdly,}\or + \checklast{fourthly,}\or \checklast{fifthly,}\or + \checklast{sixthly,}\or \checklast{seventhly,}\or + \checklast{eigthly,}\or \checklast{ninethly,}\or + \checklast{tenthly,}\fi} +\AddEnumerateCounter{\paraltext}{\@paraltext}{secondly,} +% \end{macrocode} +% \end{macro} +% +% At last \env{eitem} has been defined. +% +% \begin{macrocode} +\NewDocumentEnvironment { eitem } { } + { + \int_gincr:N \l@@_elistcnt_int + \int_case:nn { \l@@_eitem_int } + { + { 0 } { \begin{enumerate} + [label=\ltext*,align=left,itemjoin=\mysep,itemjoin*=\myseplast] } + { 1 } { \begin{enumerate} + [label=\ctext*,align=left,itemjoin=\mysep,itemjoin*=\myseplast] } + { 2 } { \begin{enumerate}[label=\arabic*.] } + { 3 } { \begin{enumerate}[label=\textbullet] } + { 4 } { \begin{enumerate*} + [label=\paraltext*,itemjoin=\mysep,itemjoin*=\myseplast] } + { 5 } { \begin{enumerate*} + [label=\paractext*,itemjoin=\mysep,itemjoin*=\myseplast] } + } + } + { + \wrAux { \token_to_str:N \LastItem + { \int_use:N \l@@_elistcnt_int } {\the\c@enumi} } + \int_case:nn { \l@@_eitem_int } + { + { 0 } { \end{enumerate} } + { 1 } { \end{enumerate} } + { 2 } { \end{enumerate} } + { 3 } { \end{enumerate} } + { 4 } { \end{enumerate*} } + { 5 } { \end{enumerate*} } + } + } +% +% \end{macrocode} +% \end{environment} +% +% +% +% +% \begin{macrocode} +%</initex|package> +% \end{macrocode} +%% +% \end{implementation} +% +% \PrintIndex +% +% \endinput + diff --git a/Master/texmf-dist/source/latex/copyedit/copyedit.ins b/Master/texmf-dist/source/latex/copyedit/copyedit.ins new file mode 100644 index 00000000000..79b399b23e4 --- /dev/null +++ b/Master/texmf-dist/source/latex/copyedit/copyedit.ins @@ -0,0 +1,39 @@ +\iffalse meta-comment + +File copyedit.ins Copyright (C) 2014, 2015 CVRs and SKV. See copyedit.dtx +full details of names and addresses. + +It may be distributed and/or modified under the conditions of the +LaTeX Project Public License (LPPL), either version 1.3c of this +license or (at your option) any later version. The latest version +of this license is in the file + + http://www.latex-project.org/lppl.txt + +\fi + +\let\jobname\relax +\input l3docstrip.tex +\askforoverwritefalse + +\preamble +--------------------------------------------------------------- +The copyedit package --- Copyediting support in LaTeX documents +Maintained by CV Radhakrishnan, CV Rajagopal and SK Venkatesan +E-mail: <cvr@cvr.cc>, <cvr3@cvr.cc> and <skvenkat@tnq.co.in> +Released under the LaTeX Prlject Public Licence v1.3c or later +See http://www.latex-project.org/lppl.txt +--------------------------------------------------------------- + +\endpreamble +% stop docstrip adding \endinput +\postamble +\endpostamble + +\keepsilent + +\generate{\file{copyedit.sty} {\from{copyedit.dtx} {package}}} + + +\endbatchfile + diff --git a/Master/texmf-dist/tex/latex/copyedit/copyedit.sty b/Master/texmf-dist/tex/latex/copyedit/copyedit.sty new file mode 100644 index 00000000000..d504a683cea --- /dev/null +++ b/Master/texmf-dist/tex/latex/copyedit/copyedit.sty @@ -0,0 +1,329 @@ +%% +%% This is file `copyedit.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% copyedit.dtx (with options: `package') +%% --------------------------------------------------------------- +%% The copyedit package --- Copyediting support in LaTeX documents +%% Maintained by CV Radhakrishnan, CV Rajagopal and SK Venkatesan +%% E-mail: <cvr@cvr.cc>, <cvr3@cvr.cc> and <skvenkat@tnq.co.in> +%% Released under the LaTeX Prlject Public Licence v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% --------------------------------------------------------------- +%% +%% +%% This is file 'copyedit.dtx' +%% ........................... +%% +%% (c) 2014,2015, +%% CV Radhakrishnan <cvr@cvr.cc>, JWRA 34, Jagathy, +%% Trivandrum 695014, India +%% CV Rajagopal <cvr3@cvr.cc>, SRA 34C, Elipode, +%% Vattiyoorkavu, Trivandrum 695013, India +%% SK Venkatesan <skvenkat@tnq.co.in>, TNQ Books and Journals +%% Pvt Ltd, Kottivakkam, Chennai 600041, India +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License (LPPL), either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% +%% http://www.latex-project.org/lppl.txt +%% +%% The list of all files belonging to the 'copyedit' is +%% given in the file `manifest.txt'. +%% +\RequirePackage{expl3}[2014/07/20] +\@ifpackagelater{expl3}{2014/07/20} + {} + {% + \PackageError{copyedit}{Support package l3kernel too old} + {% + Please install an up to date version of l3kernel\MessageBreak + using your TeX package manager or from CTAN.\MessageBreak + \MessageBreak + Loading copyedit will abort!% + }% + \endinput + } +\RequirePackage{acronym,l3str,l3keys2e,xparse} +%%%% $Id: copyedit.dtx,v 1.6 2015/07/21 07:27:11 cvr Exp cvr $ +\GetIdInfo$Id: copyedit.dtx,v 1.6 2015-07-21 07:27:11 cvr Exp cvr $ + {TeX and Copyediting (CVR)} +\ProvidesExplPackage + {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} +\msg_new:nnnn { copyedit } { incompatible-package } + { Package~'#1'~incompatible. } + { The~#1~package~and~copyedit~are~incompatible. } +\cs_new_protected:Npn \__cedt_load_check:n #1 + { + \group_begin: + \@ifpackageloaded {#1} + { \msg_error:nnx { copyedit } { incompatible-package } {#1} } + { } + \group_end: + } +\clist_map_function:nN + { Array , MyPackage } + \__cedt_load_check:n +\AtBeginDocument { + \clist_map_function:nN { Array , MyPackage } + \__cedt_load_check:n + } +\NewDocumentCommand \wrAux { m } + { \iow_now:Nx \@auxout { #1 } } +\int_new:N \l__cedt_lat_int +\NewDocumentCommand \setlat { m } + { \int_set:Nn \l__cedt_lat_int { #1 } } + +\int_new:N \l__cedt_pc_int +\NewDocumentCommand \setpc { m } + { \int_set:Nn \l__cedt_pc_int { #1 } } + +\int_new:N \l__cedt_lang_int +\NewDocumentCommand \setlang { m } + { \int_set:Nn \l__cedt_lang_int { #1 } } + +\int_new:N \l__cedt_eitem_int +\NewDocumentCommand \seteitem { m } + { \int_set:Nn \l__cedt_eitem_int { #1 } } +\int_new:N \l__cedt_abbr_int + +\NewDocumentCommand \setabbr { m } + { + \str_if_eq:nnTF { #1 } { italic } + { \int_set:Nn \l__cedt_abbr_int { 0 } } + { \int_set:Nn \l__cedt_abbr_int { 1 } } + } +\cs_new_protected:Npn \__cedt_lang_check:n #1 + { + \str_if_eq:nnT { #1 } { uk } { \setlang { 0 } } + \str_if_eq:nnT { #1 } { us } { \setlang { 1 } } + \str_if_eq:nnT { #1 } { ca } { \setlang { 2 } } + \str_if_eq:nnT { #1 } { au } { \setlang { 3 } } + } +\keys_define:nn { copyedit } + { + lang .code:n = \__cedt_lang_check:n { #1 } , + lat .code:n = \setlat { #1 } , + abbr .code:n = \setabbr{ #1 } , + pc .code:n = \setpc { #1 } , + draft .bool_set:N = \l__cedt_draft_bool , + last .bool_set:N = \l__cedt_last_bool , + eitem .code:n = \seteitem { #1 } , + key-unknown .code:n = + { + \msg_error:nnx { copyedit } { unknown-option } + { \exp_not:V \l_keys_key_tl } + } + } +\keys_set:nn { copyedit } + { + lang = { uk } , + lat = { 0 } , + abbr = { italic } , + pc = { 0 } , + draft = { false } , + last = { false } , + eitem = { 0 } , + } + +\ProcessKeysOptions { copyedit } +\NewDocumentCommand \ceset { m } + { + \keys_set:nn { copyedit } { #1 } + \__cedt_lang_check:n { \l__cedt_lang_tl } + } +\cs_set_eq:NN \cesetup \ceset +\NewDocumentCommand \switchvariant { m m m m } + { + \int_case:nn { \l__cedt_lang_int } + { + { 0 } { #1 } + { 1 } { #2 } + { 2 } { #3 } + { 3 } { #4 } + } + } + +\NewDocumentCommand \definevariant { m m m m } + { + \tl_set:cn { g_vara_#1_tl } + { \switchvariant { #1 } { #2 } { #3 } { #4 } } + \tl_set:cn { g_vara_#2_tl } + { \switchvariant { #1 } { #2 } { #3 } { #4 } } + \tl_set:cn { g_vara_#3_tl } + { \switchvariant { #1 } { #2 } { #3 } { #4 } } + \tl_set:cn { g_vara_#4_tl } + { \switchvariant { #1 } { #2 } { #3 } { #4 } } + } + +\DeclareDocumentCommand \vara { s m } + { + \IfBooleanTF {#1} + { #2 } + { \normalvara {#2} } + } + +\NewDocumentCommand \normalvara { m } + { + \use:c { g_vara_#1_tl } + } +\NewDocumentCommand \hyp { m m } { #1-#2 } +\NewDocumentCommand \closeup { m m } { #1#2 } +\NewDocumentCommand \sword { m m } { #1~#2 } +\NewDocumentCommand \definelat { m m m } + { + \tl_set:cn { g__cedt_lat_#1_tl } + { + \group_begin: + \int_case:nn { \l__cedt_abbr_int} + { + { 0 } { \itshape } + { 1 } { \upshape } + } + \int_case:nn { \l__cedt_lat_int } + { + { 0 } { #1 } + { 1 } { #2 } + { 2 } { #3 } + } + \group_end: + } + } + +\NewDocumentCommand \lat { m } { \use:c { g__cedt_lat_#1_tl } } +\NewDocumentCommand \pc { m } + { + \int_case:nn { \l__cedt_pc_int } + { + { 0 } { \unskip,~#1,~ } + { 1 } { (#1) } + { 2 } { ---~#1~--- } + { 3 } { \unskip\footnote{#1} } + { 4 } { \marginpar{ \footnotesize\raggedright#1} } + } + } +\clist_new:N \l__cedt_clist +\NewDocumentCommand \elist { m } + { + \clist_set:Nn \l__cedt_clist { #1 } + \clist_use:Nnnn \l__cedt_clist { ~and~ } { ,~ } { ~and~ } + } +\NewDocumentCommand \definetoken { m m m m } + { + \tl_gset:cn { #1num } { 0 } + \tl_gset:cn { g_toks_#1_0_tl } { #2 \tl_gset:cn { #1num } { 1 } } + \tl_gset:cn { g_toks_#1_1_tl } { #3 \tl_gset:cn { #1num } { 2 } } + \tl_gset:cn { g_toks_#1_2_tl } { #4 \tl_gset:cn { #1num } { 2 } } + } +\NewDocumentCommand \tkn { m } + { \use:c { g_toks_#1_\use:c{#1num}_tl } } +\cs_set_eq:NN \Token \tkn +\RequirePackage{enumitem} +\chardef\thre@=3 +\newenvironment{enumerate*}[1][]% + {\@nameuse{enit@enumerate*}\enitdp@enumerate{enum}\thre@{#1}} + {\@nameuse{enit@endenumerate*}} +\int_new:N \l__cedt_elistcnt_int +\NewDocumentCommand \lastlabel { } { \tex_xdef:D\@itemlabel{Lastly}} +\NewDocumentCommand \mysep { } { ;\hskip .5em plus .1em minus .1em } +\NewDocumentCommand \myseplast { } {\space and \space } +\NewDocumentCommand \elistcnt { } { \int_use:N \l__cedt_elistcnt_int } +\NewDocumentCommand \LastItem { m m } + { \tl_gset:cn { l__cedt_tmpa_#1_tl } { #2 } } +\NewDocumentCommand \checklast { m } + { + \tl_if_exist:cTF { l__cedt_tmpa_ \elistcnt _tl } + { \int_set:Nn \l_tmpa_int { \use:c{ l__cedt_tmpa_\elistcnt _tl }} } + { \int_set:Nn \l_tmpa_int { 0 } } + \int_set:Nn \l_tmpb_int { \the\c@enumi } + \int_compare:nNnTF { \l_tmpa_int } = { \l_tmpb_int } + { + \bool_if:NTF \l__cedt_last_bool + { + \int_case:nn { \l__cedt_eitem_int } + { + { 0 } { Lastly, } + { 1 } { Last, } + { 4 } { lastly, } + { 5 } { last, } + } + } + { #1 } + } + { #1 } + } +\makeatletter +\def\ctext#1{\expandafter\@ctext\csname c@#1\endcsname} +\def\@ctext#1{\ifcase#1\or \checklast{First,}\or + \checklast{Second,}\or \checklast{Third,}\or + \checklast{Fourth,}\or \checklast{Fifth,}\or + \checklast{Sixth,}\or \checklast{Seventh,}\or + \checklast{Eigth,}\or \checklast{Nineth,}\or + \checklast{Tenth,}\fi} +\AddEnumerateCounter{\ctext}{\@ctext}{Second,} + +\def\ltext#1{\expandafter\@ltext\csname c@#1\endcsname} +\def\@ltext#1{\ifcase#1\or \checklast{Firstly,}\or + \checklast{Secondly,}\or \checklast{Thirdly,}\or + \checklast{Fourthly,}\or \checklast{Fifthly,}\or + \checklast{Sixthly,}\or \checklast{Seventhly,}\or + \checklast{Eigthly,}\or \checklast{Ninethly,}\or + \checklast{Tenthly,}\fi} +\AddEnumerateCounter{\ltext}{\@ltext}{Secondly,} + +\def\paractext#1{\expandafter\@paractext\csname c@#1\endcsname} +\def\@paractext#1{\ifcase#1\or \checklast{First,}\or + \checklast{second,}\or \checklast{third,}\or + \checklast{fourth,}\or \checklast{fifth,}\or + \checklast{sixth,}\or \checklast{seventh,}\or + \checklast{eigth,}\or \checklast{nineth,}\or + \checklast{tenth,}\fi} +\AddEnumerateCounter{\paractext}{\@paractext}{second,} + +\def\paraltext#1{\expandafter\@paraltext\csname c@#1\endcsname} +\def\@paraltext#1{\ifcase#1\or \checklast{Firstly,}\or + \checklast{secondly,}\or \checklast{thirdly,}\or + \checklast{fourthly,}\or \checklast{fifthly,}\or + \checklast{sixthly,}\or \checklast{seventhly,}\or + \checklast{eigthly,}\or \checklast{ninethly,}\or + \checklast{tenthly,}\fi} +\AddEnumerateCounter{\paraltext}{\@paraltext}{secondly,} +\NewDocumentEnvironment { eitem } { } + { + \int_gincr:N \l__cedt_elistcnt_int + \int_case:nn { \l__cedt_eitem_int } + { + { 0 } { \begin{enumerate} + [label=\ltext*,align=left,itemjoin=\mysep,itemjoin*=\myseplast] } + { 1 } { \begin{enumerate} + [label=\ctext*,align=left,itemjoin=\mysep,itemjoin*=\myseplast] } + { 2 } { \begin{enumerate}[label=\arabic*.] } + { 3 } { \begin{enumerate}[label=\textbullet] } + { 4 } { \begin{enumerate*} + [label=\paraltext*,itemjoin=\mysep,itemjoin*=\myseplast] } + { 5 } { \begin{enumerate*} + [label=\paractext*,itemjoin=\mysep,itemjoin*=\myseplast] } + } + } + { + \wrAux { \token_to_str:N \LastItem + { \int_use:N \l__cedt_elistcnt_int } {\the\c@enumi} } + \int_case:nn { \l__cedt_eitem_int } + { + { 0 } { \end{enumerate} } + { 1 } { \end{enumerate} } + { 2 } { \end{enumerate} } + { 3 } { \end{enumerate} } + { 4 } { \end{enumerate*} } + { 5 } { \end{enumerate*} } + } + } +%% + +%% +%% +%% End of file `copyedit.sty'. diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index c8addca6881..3597357e1b7 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -170,7 +170,7 @@ depend coolstr depend coolthms depend cooltooltips depend coordsys -#depend copyedit +depend copyedit depend copyrightbox depend coseoul depend counttexruns diff --git a/Master/tlpkg/tlpsrc/copyedit.tlpsrc b/Master/tlpkg/tlpsrc/copyedit.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/copyedit.tlpsrc |