summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/nicetext/doclog/niceverb.doc
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/nicetext/doclog/niceverb.doc')
-rw-r--r--Master/texmf-dist/doc/latex/nicetext/doclog/niceverb.doc283
1 files changed, 283 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/nicetext/doclog/niceverb.doc b/Master/texmf-dist/doc/latex/nicetext/doclog/niceverb.doc
new file mode 100644
index 00000000000..6acb7eada6f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nicetext/doclog/niceverb.doc
@@ -0,0 +1,283 @@
+\ProvidesFile{niceverb.doc}[2009/04/16 automatically generated with makedoc.sty]
+\begin{packagecode}
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{niceverb}[2009/04/15 v0.2
+ minimize \string\verb\space code (UL)]
+
+%% Copyright (C) 2009 Uwe Lueck,
+%% http://www.contact-ednotes.sty.de.vu
+%% -- author-maintained in the sense of LPPL below --
+%%
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
+%% version 1.3a of the License, or any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% We did our best to help you, but there is NO WARRANTY.
+%%
+%% Please report bugs, problems, and suggestions via
+%%
+%% http://www.contact-ednotes.sty.de.vu
+%%
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Switching category codes \unskip }
+
+\begin{packagecode}
+\providecommand{\CatCode}{\catcode`}
+% \providecommand*{\MakeActive}[1]{\CatCode#1\active}
+\providecommand*{\MakeAlign} [1]{\CatCode#14\relax}
+\providecommand*{\MakeLetter}[1]{\CatCode#111\relax}
+\providecommand*{\MakeOther} [1]{\CatCode#112\relax}
+\providecommand*{\MakeSub} [1]{\CatCode#18\relax}
+
+\newcommand*{\MakeActiveLet}[2]{%% cf. \@sverb & \do@noligs
+ \CatCode#1\active
+ \begingroup
+ \lccode`\~`#1\relax \lowercase{\endgroup \let~#2}}
+
+\MakeLetter\_
+
+% \newcommand*{\make_iii_other}{\MakeOther\\\MakeOther\{\MakeOther\}}
+ %% <- replaced 2009/04/05
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Sloppy variant of &\verb \unskip }
+
+\begin{packagecode}
+\newcommand*{\begin_min_verb}{%
+ \relax \ifmmode \hbox \else \leavevmode\null \fi
+ %% <- standard, for $$...$$
+ \bgroup \tt %%%\let\do\MakeOther \dospecials
+ \MakeLetter\_\MakeLetter\@}
+\newcommand*{\SimpleVerb}[1]{%
+\end{packagecode}
+Mainly avoid `\verb''s noligs list which overrides definitions
+of some active characters, while 'cmtt' doesn't have any
+ligatures anyway.
+\begin{packagecode}
+ \ifx\protect\@typeset@protect
+ \begin_min_verb %%%\make_iii_other %% much usual 2009/04/05
+ \let\do\MakeOther \dospecials %% 2009/04/06
+ \MakeOther\|%% probably 'niceverb'
+ \MakeActiveLet#1\niceverb_egroup %% 2009/04/11
+ \verb@eol@error %% TODO change message 2009/04/09
+ \else \string\SimpleVerb \string#1\fi}
+\end{packagecode}
+2009/04/11: about `etc.'
+\begin{packagecode}
+\newcommand*{\niceverb_egroup}{\egroup\ifmmode\else\@\fi}
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Single quotes typeset meta-code \unskip }
+
+\begin{packagecode}
+\newcommand*{\lq_verb}{%
+ \ifx\protect\@typeset@protect
+ \expandafter \lq_double_test
+ \else \lq \fi}
+% \ifcat\noexpand'\noexpand~%
+% \expandafter\expandafter\expandafter
+% \protect_corresp_quotes
+% \else
+% \rq_verb
+% \fi
+% \fi}
+\newcommand*{\lq_double_test}{%
+ %% test settles next catcode, better switch to ``other''
+ %% in advance:
+ \begingroup \let\do\MakeOther \dospecials
+ \futurelet\let_token \lq_double_decide}
+\newcommand*{\lq_double_decide}{%
+ \ifx\let_token\lq_verb
+ \endgroup
+ \lq\lq \expandafter \@gobble
+\end{packagecode}
+Corresponding right quotes will become ``other'' due to
+having no space at the left.
+\begin{packagecode}
+ %%TODO to be changed with 'wiki.sty'.
+ \else
+ \endgroup
+% \expandafter \rq_verb
+ \expandafter \SimpleVerb \expandafter \'%
+ \fi}
+% \newcommand*{\rq_verb}{\SimpleVerb\'}
+% \AtBeginDocument{\MakeActiveLet\`\rq_verb}
+\AtBeginDocument{\MakeActiveLet\`\lq_verb}
+ %% Strings referred to will be code
+ %% TODO to be changed with wiki.sty
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Ampersand typesets meta-code \unskip }
+
+\begin{packagecode}
+\newcommand*{\CmdSyntaxVerb}{%
+ \ifx\protect\@typeset@protect
+ \expandafter \cmd_syntax_verb
+ \else %% thinking of .aux only
+ \string\CmdSyntaxVerb \expandafter \string
+ \fi}
+\newcommand*{\cmd_syntax_verb}[1]{%
+ \begin_min_verb \string#1\futurelet\let_token \after_cs}
+
+\AtBeginDocument{\MakeActiveLet\&\CmdSyntaxVerb}
+ %% not needed with \Auto... OTHERWISE useful in args!
+ %% TODO \MakeAmpCmdSyntax
+ %% TODO \let\endcell& (wie \endline, \endgraf) \MakeEndCell
+\newcommand*{\after_cs}{%
+ \ifcat\noexpand\let_token a\egroup \space
+ \else \expandafter \decide_verb \fi}
+\newcommand*{\test_more_verb}{\futurelet\let_token \decide_verb}
+\newcommand*{\decide_verb}{%
+% \show\let_token
+ \jumpteg_on_with\bgroup\braces_verb
+ \jumpteg_on_with[\brackets_verb
+ \jumpteg_on_with*\star_verb
+ \egroup}
+ %% CAUTION/TODO wrong before (... if cmd without arg
+ %% use \ then or choose usual verb...
+ %% or \MakeLetter\( etc. ... or \xspace
+\newcommand*{\jumpteg_on_with}[2]{%
+ \ifx\let_token#1\do_jumpteg_with#2\fi}
+ %% TODO cf. xfor, xspace (break@loop);
+ %% \DoOrBranch#1...#1 or so
+\def\do_jumpteg_with#1#2\egroup{\fi#1}
+\def\braces_verb#1{\string{#1\string}\test_more_verb}
+\def\brackets_verb[#1]{[#1]\test_more_verb}
+\def\star_verb*{*\test_more_verb}
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Escape character typesets meta-code \unskip }
+
+\begin{packagecode}
+\DeclareRobustCommand*{\BuildCsSyntax}{%
+ \futurelet\let_token \build_cs_syntax_sp}
+\newcommand*{\build_cs_syntax_sp}{%
+ \ifx\let_token\@sptoken \else %% TODO ^^M!?
+ \expandafter \start_build_cs_syntax
+ \fi}
+\newcommand*{\start_build_cs_syntax}[1]{%
+ \edef\string_built{\string#1}%% #1 may be active
+ \MakeLetter\_\MakeLetter\@%% CAUTION, cf. ...
+ \test_more_cs}
+\newcommand*{\test_more_cs}{%
+ \futurelet\let_token \decide_more_cs}
+\newcommand*{\decide_more_cs}{%
+ \ifcat\noexpand\let_token a\expandafter \add_to_cs
+ \else
+ \MakeSub\_\MakeOther\@%
+ \expandafter \in@ \expandafter
+ {\csname \string_built \expandafter \endcsname
+ \expandafter}\expandafter{\niceverbNoVerbList}%
+ \ifin@
+ \csname \string_built
+ \expandafter\expandafter\expandafter \endcsname
+ \else
+ \begin_min_verb \@backslashchar\string_built
+ \expandafter\expandafter\expandafter \test_more_verb
+ \fi
+ \fi}
+ %% TODO such \if nestings with ifthen!?
+ %% cf.:
+% \let\let_token,\typeout{\meaning\let_token}
+ %% TEST TODO fuer xspace!? (\ifin@)
+\newcommand*{\add_to_cs}[1]{%
+ \edef\string_built{\string_built#1}\test_more_cs}
+\newcommand*{\AutoCmdSyntaxVerb}{\MakeActiveLet\\\BuildCsSyntax}
+ %% TODO or \niceverbswitch...
+
+\newcommand*{\EndAutoCmdSyntaxVerb}{\CatCode\\\z@}
+\newcommand*{\NormalCommand}{} \let\NormalCommand\@nameuse
+ %% Were tests:
+% \futurelet\LetToken\relax \relax
+% \show\LetToken \typeout{\ifcat\noexpand\LetToken aa\else x\fi}
+
+\newcommand*{\niceverbNoVerbList}{%
+ \begin\end\item\verb\EndAutoCmdSyntaxVerb\NormalCommand
+ \section\subsection\subsubsection}%% TODO!?
+\providecommand*{\AddToMacro}[1]{%
+ \expandafter \def \expandafter #1\expandafter}
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Meta-variables \unskip }
+
+\begin{packagecode}
+\def\niceverb_meta#1>{%
+ \mbox{\normalfont\itshape $\langle$#1\/$\rangle$}}
+ %% TODO offer without angles as well
+\AtBeginDocument{\MakeActiveLet\<\niceverb_meta}
+ %% difference to ltxguide.cls: also outside verbatim
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Hash mark is code \unskip }
+
+\begin{packagecode}
+\newcommand*{\param_verb}[1]{{\tt\##1}}
+\AtBeginDocument{\MakeActiveLet\#\param_verb}
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Single right quote for &\textsf \unskip }
+
+\begin{packagecode}
+\newcommand*{\niceverb_rq_sf}{%
+% \relax %% in case of \hskip1sp 2009/04/08
+ %% but spoils ligature 2009/04/09
+ \ifx\protect\@typeset@protect
+ \expandafter \niceverb_rq_sf_test
+ \else \rq \fi}
+\end{packagecode}
+Another macro just to avoid more sequences of `\expandafter':
+\begin{packagecode}
+\newcommand*{\niceverb_rq_sf_test}{%
+ \ifhmode
+ \ifdim\lastskip>\z@
+ \expandafter\expandafter\expandafter \niceverb_rq_sf_exec
+ \else
+ \ifnum\spacefactor=1001 %% in parentheses 2009/04/10
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter
+ \niceverb_rq_sf_exec
+ \else \rq \fi
+% \rq
+ \fi
+ \else \ifvmode
+ \expandafter\expandafter\expandafter \niceverb_rq_sf_exec
+ \else \rq \fi
+ \fi}
+\sfcode`\(=1001 %% enable in parentheses 2009/04/10
+{\CatCode\'\active \gdef\niceverb_rq_sf_exec#1'{\textsf{#1}}}
+ %% TODO to be changed with wiki.sty:
+\AtBeginDocument{\MakeActiveLet\'\niceverb_rq_sf}
+
+ %% TODO \niceverbswitch{<mode>}{<on/off>} (bzw. Doku ohne {})
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces Leave package mode \unskip }
+
+\begin{packagecode}
+\MakeSub\_
+
+\endinput
+\end{packagecode}
+
+\subsection{\hspace{1sp}\ignorespaces VERSION HISTORY \unskip }
+
+
+\begin{packagecode}
+v0.1 2009/02/21 very first, sent to CTAN
+v0.2 2009/04/04 ...NoVerbList: \subsubsection, \AddToMacro,
+ 2009/04/05 \SimpleVerb makes more other than iii
+ 2009/04/06 just uses \dospecials
+ 2009/04/08 debugging code for rq/sf, +\relax
+ 2009/04/09 +\verb@eol@error, prepared for new doc method,
+ removed spurious \makeat..., -\relax (ligature),
+ 2009/04/10 ('-trick
+ 2009/04/11 \@ after \SimpleVerb
+ 2009/04/14 noted TODO below
+ 2009/04/15 change v0.1 to 2009/02/21
+
+TODO: choose expansions of active characters by options 2009/04/10
+TODO: &\@tempa and &\_tempa fail 2009/04/14
+
+\end{packagecode}