summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/nicetext/wiki.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-04-03 15:42:12 +0000
committerKarl Berry <karl@freefriends.org>2010-04-03 15:42:12 +0000
commit14b154c49df4af70e973eeafb54e2f31250aff0e (patch)
tree3d16bd3f92c8dd87c3475e212fca73e37ce370d7 /Master/texmf-dist/tex/latex/nicetext/wiki.sty
parent2a8bfdf220d7f65a85d288b2edef58e46dd9f654 (diff)
nicetext 0.4 (30mar10)
git-svn-id: svn://tug.org/texlive/trunk@17661 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/nicetext/wiki.sty')
-rw-r--r--Master/texmf-dist/tex/latex/nicetext/wiki.sty376
1 files changed, 0 insertions, 376 deletions
diff --git a/Master/texmf-dist/tex/latex/nicetext/wiki.sty b/Master/texmf-dist/tex/latex/nicetext/wiki.sty
deleted file mode 100644
index 6fe7b4e4b46..00000000000
--- a/Master/texmf-dist/tex/latex/nicetext/wiki.sty
+++ /dev/null
@@ -1,376 +0,0 @@
-\ProvidesPackage{wiki}[2008/07/02 v0.2 LaTeX through Wiki markup]
-%% <- vorige Aenderungen gg. 2008/06/25 verworfen
-%%
-%% == Legal ==
-%% (C) 2008 Uwe Lueck http://contact-ednotes.sty.de.vu
-%% License: http://www.latex-project.org/lppl/
-%% -- AUTHOR-MAINTAINED, NO WARRANTY!
-%%
-%% == Features ==
-%%
-%% The `wiki' package enables LaTeX users to use some of the
-%% markup used in editing Wikipedia pages, cf.
-%%
-%% http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet
-%%
-%% or German:
-%%
-%% http://de.wikipedia.org/wiki/Hilfe:Bearbeitungshilfe
-%% http://de.wikipedia.org/wiki/Hilfe:Textgestaltung
-%%
-%% Advantages of such a kind of markup are:
-%%
-%% 1. easier and faster to type than LaTeX code;
-%%
-%% 2. intuitive, understandable at a glance;
-%%
-%% 3. in reading the source code of the document,
-%% the markup doesn't much distract from the ''text''
-%% to be printed.
-%%
-%% There is a binary `easylatex' available on CTAN which is more
-%% powerful than the `wiki' package; the idea here is that a ''macro
-%% package'' doing something similar is easier to use and to customize.
-%%
-%%
-%% === What the Package Supports ===
-%%
-%% 1. ''Italics'' are marked up by surrounding pairs of apostrophes,
-%% '''boldface''' needs one apostrophe more on each side.
-%% Boldface and italics may be nested or overlap.
-%% (This endangers quoting, but I have dealt with it.)
-%%
-%% 2. Surrounding ``equals'' symbols (`=') mark up section headings
-%% etc.: `== Section ==', `=== Subsection ===', down to
-%% `===== Subparagraph ====='.
-%%
-%% 3. If a line starts with `*', it becomes an item in an
-%% `itemize' environment. Likewise, `#' creates an `enumerate'
-%% environment, and `;' makes an item in a `discription'
-%% environment (differs from Wiki! -- since I don't understand
-%% what the Wiki version is good for). `:' makes a `quote' --
-%% while on Wikipedia instead is used for comments on talk
-%% pages. But it is also used for indented math displays,
-%% so it may be combined with $...$ here.
-%% An indented line is typeset ''verbatim''. Each of these
-%% environments is ended by a code line without leading blank
-%% spaces.
-%%
-%%
-%% === Limitations ===
-%%
-%% 1. The markup ``language'' provided here replaces a few most
-%% common LaTeX commands only in their most simple versions.
-%% (Yet I think that already this makes the code more readable;
-%% the more special cases are very rare.) E.g., it's not
-%% possible to suppress the italic correction as with
-%% `\textit{...\nocorr}'. However, in ``normal'' cases it
-%% should be possible to use the more powerful LaTeX markup
-%% mixed with ``Wiki'' markup.
-%%
-%% 2. The parsing algorithms employed here differ in outcome to
-%% those of Wikipedia in difficult cases.
-%%
-%% 3. Tables, nesting lists, links, Wiki templates and tags
-%% are not supported -- and I don't expect that I can afford
-%% improving this soon!
-%%
-%% 4. I still have encountered problems that I didn't understand ...
-%%
-%% == Package Options and User Commands ==
-%%
-%% \usepackage[<options>]{wiki}, of course. There are <options>
-%% `noEnvironments', `noFonts', `noHeadings' giving up
-%% functionality for lists etc., for italics and boldface,
-%% for section headings etc., respectively.
-%%
-%% There are commands \wikimarkup, \wikiEnvironments,
-%% \wikiFonts, \wikiHeadings to turn respective functionality on
-%% (unless disabled by package option). \nowikimarkup,
-%% \nowikiEnvironments, \nowikiFonts, \nowikiHeadings turn them
-%% off.
-%%
-%% '''Vital:''' The package does ''not'' execute \wikimarkup
-%% because this would have strange effects, e.g., packages
-%% loaded later may break. The user must put activating
-%% commands into the `document' environment, maybe just preceding
-%% the first heading.
-%%
-%% Dangers to be avoided by \nowiki... are:
-%% * \wikiHeadings (which also is executed by \wikimarkup)
-%% disables TeX assignments using `='.
-%% * \wikiEnvironments (executed by \wikimarkup) executes macros
-%% at every end of a code line (containing no comment marke),
-%% and it tries to typeset a following line verbatim if it is
-%% indented.
-%%
-%%
-%% == Implementation and Further Remarks ==
-
-%% === Commands for Category Codes ===
-% \RequirePackage{fdcodes}
- %% <- TODO -- or do away ... ->
-\providecommand*\AssignCatCode[2]{\catcode`#1=#2\relax}
-\providecommand*\MakeActive[1]{\catcode`#1=\active}
-% \providecommand*\MakeLetter[1]{\catcode`#1=11\relax}
- %% <- Declaring characters usable in command strings
- %% Todo: print arrow indicators like ``->'' as real arrows
-\providecommand*\MakeOther [1]{\catcode`#1=12\relax}
-
-\AssignCatCode{\_}{11}
-% \MakeLetter\_ %% own macros somewhat LaTeX3-style
-%% Todo \newcommand <-> \def !?
-
-%% === Package Options ===
-\DeclareOption{noFonts} {\let\wikiFonts \empty
- \let\nowikiFonts \relax}
-\DeclareOption{noHeadings} {\let\wikiHeadings \empty
- \let\nowikiHeadings \relax}
-\DeclareOption{noEnvironments}{\let\wikiEnvironments \empty
- \let\nowikiEnvironments\relax}
-\DeclareOption{noVerbatim}{%
- \def\W_active_return{ \futurelet\@let@token\W_on_firsttoken}}
- %% \[no]wikiVerbatim must wait, too complex 2008/07/01
-\ProcessOptions
-
-%% === Auxiliaries for both Fonts and Headings ===
-
- \@tempswafalse
- \ifx\wikiFonts \empty \else \@tempswatrue \fi
- \ifx\wikiHeadings\empty \else \@tempswatrue \fi
- \if@tempswa
-\def\W_start_samecnt{\futurelet\@let@token\W_process_samecnt}
-\def\W_init_samecnt#1#2#3{%
- \let\W_samesymb =#1%% repeated symbol
- \def\W_repllist {#2}% replacing strings
- \def\W_incase_all{#3}% final replacement
- \def\W_next##1{\W_start_samecnt}}
-\def\W_process_samecnt{%
- \expandafter \W_splitlist \W_repllist \@nil
- \W_next}
-\def\W_splitlist#1#2\@nil{%
- \def\W_repllist{#2}%
- \ifx\@let@token\W_samesymb
- \ifx\W_repllist\empty \def\W_next##1{\W_incase_all}\fi
- \else
- \def\W_next{#1}%
- \fi}
- \fi
-
-%% === Italics and Boldface ===
-
-%% ==== Code ====
- \ifx\wikiFonts\empty \else
-\def\W_toggle#1#2#3{\def#1{\W_toggle#1{#3}{#2}}#2}
-%% Cf. LaTeX's `\DeclareTextFontCommand':
-\def\W_bf_toggle{%
- \W_toggle\W_bf_toggle{\bfseries\W_maybe@ic}{\mdseries\W_maybe@ic}}
-\def\W_maybe@ic{\futurelet\@let@token\W_maybe_maybe@ic}
-\def\W_maybe_maybe@ic{%
- \ifx\@let@token\W_rq_robust \else \expandafter \maybe@ic \fi}
-\def\W_it_toggle{%
- \W_toggle\W_it_toggle{\itshape\maybe@ic}{\upshape\maybe@ic}}
-%% <- Doesn't support \nocorr.
-
-\def\W_rq_robust{%% will become meaning of single right quote.
- \ifx\protect\@typeset@protect
- \ifmmode \rq \else
- \W_init_samecnt{\W_rq_robust}%
- {\rq\W_it_toggle}%
- {\W_bf_toggle}%
- \expandafter\expandafter\expandafter \W_start_samecnt
- \fi
- \else \rq \fi}
-%% Remark:
-%% LaTeX's \rq expands to ``other'' apostrophe:
-\CheckCommand*\rq{'} %% Must be before `\catcode`\'
-%% \wikiFonts -- restoring `...' and ``...'' -- + \nowikiFonts:
-%% requiring single left quote \active as well:
-\CheckCommand*{\lq}{`}
-\MakeActive\`\MakeActive\'
-\def\wikiFonts{%
- \MakeActive\`\MakeActive\'%
- \def`##1'{\lq ##1\rq}%
- \let'\W_rq_robust}
-\def\nowikiFonts{\MakeOther`\MakeOther\'}
-\MakeOther\` \MakeOther\'
- \fi
-
-%% ==== Remarks ====
-%% Wiki: a''b'''cd typesets `b' in italic with an apostrophe,
-%% a''b'''c'''d typsets all after `a' in italic with bold `b'.
-%% One might use make a difference depending on \lastskip.
-%% Wikimedia seems to read more ahead, maybe entire paragraphs.
-%% %% <- Todo: try here!? (Test!)
-%%
-%% Todo: Variants using \textit and \textbf (option, switching
-%% command)
-%%
-%% german.sty's "` and "' are not affected.
-%%
-%% Merit: ``...'' resembles ''...''; indeed Wikipedia Guidelines
-%% demand to think which of both is appropriate in a
-%% certain situation.
-
-%% A test about \ifx with active characters:
-%\catcode`\`=\active \let`\rq \let'\rq
-%\ifx`'\typeout{OHHH}\else \typeout{OCH}\fi %% OHHH
-%% <- how typeset code commented out!? (^!? diff. comment char.!?)
-%% indent %! TODO or no space after %!! TODO!!
-%% xEDIT: dann Alt C/D fuer Kommentar/Dok./auskomm. (!?) !!
-
-%% === Section Headings ===
-
- \ifx\wikiHeadings\empty \else
-\providecommand*{\normalequals}{=}
-\MakeActive\=
-\def\wikiHeadings{\MakeActive\=\let=\W_eq_robust}
-\def\nowikiHeadings{\MakeOther\=}
-\def\W_eq_robust{%
- \ifx\protect\@typeset@protect
- %% in case without math mode in heading
- \ifmmode \normalequals \else
- \W_init_samecnt{\W_eq_robust}%
- {\normalequals\W_sec\W_subsec\W_subsubsec
- \W_para\W_subpara}%
- {\W_bf_toggle}%
- \expandafter\expandafter\expandafter \W_start_samecnt
- \fi
- \else \normalequals \fi}
-
-\def\W_sec #1=={\section{#1}}
-\def\W_subsec #1==={\subsection{#1}}
-\def\W_subsubsec #1===={\subsubsection{#1}}
-\def\W_para #1====={\paragraph{#1}}
-\def\W_subpara #1======{\subparagraph{#1}}
-
-\MakeOther\=
- \fi
-
-%% Todo: think of reimplementation by the start-line
-%% mechanism which is going to be used for lists.
-
-%% === Environments ===
-%%
- \ifx\wikiEnvironments\empty \else
-
-%% ==== Prepare Dealing with Indents ====
-
-\MakeActive{\^^M}%
-\def\wikiEnvironments{\MakeActive{\^^M}\let^^M\W_active_return}%
-\def\nowikiEnvironments{\AssignCatCode{\^^M}{5}}%
-\nowikiEnvironments%% TeX <return> restored
-
-\MakeActive{\ }%
-\@ifundefined{W_active_return}{%
-\expandafter\def\expandafter\W_active_return\expandafter{%
-\space\catcode`\ \active\let \W_indent%
-%% <- \W_indent will start verbatim
-\futurelet\@let@token\W_on_firsttoken}%
-}{}%% end of \@ifundefined which is true without noVerbatim
-%% Much doubling for saving time (!??):
-\expandafter\def\expandafter\W_list_activereturn\expandafter{%
-\space\catcode`\ \active\let \W_restore_space%
-%% <- \W_indent will start verbatim
-\futurelet\@let@token\W_maybe_newitem}%
-% \def\W_restore_space{\catcode`\ 10\relax}%
- %% <- was vital for a math display in a list ->
-\def\W_restore_space{\catcode`\ 10\ignorespaces}%
-\W_restore_space%% TeX blank space restored
-
-%% ==== Start and End List-Like Environments ====
-
-%% \W_on_firsttoken may be edited (preamble or .cfg):
-\def\W_on_firsttoken{%
- % \show\@let@token
- \W_restore_space
- \let\W_next\relax %% must be before \W_skip... works
- \ifx\@let@token\W_active_return \expandafter \W_par \fi
- %% <- found by guessing/with \show\@let@token
- \let\W_item\item
- \W_on_startenv{*}{itemize}%
- \W_on_startenv{\W_hash}{enumerate}%
- \W_on_startenv{;}{description}%
- \let\W_item\relax %% must precede `quote'
- \W_on_startenv{:}{quote}%% instead of quotation 2008/07/01
- \W_next}
-\let\W_hash=#
-\def\W_par#1\W_next{\par}
-\def\W_skiprest_item#1\W_next#2{\W_item}
-
-\MakeActive{\^^M}%
-\def\W_on_startenv#1#2{%
- \ifx#1\@let@token%
- \begin{#2}%
- \let\W_itemsymbol#1%
- \let^^M\W_list_activereturn%
- \expandafter \W_skiprest_item%
- \fi}%
-\nowikiEnvironments%
-
-\def\W_maybe_newitem{%
- \W_restore_space
- \ifx\@let@token\W_itemsymbol
- \expandafter \W_gobbling_item
- \else
- \ifx\@let@token\W_restore_space
- \else
- \ifx\@let@token\W_list_activereturn
- \par
- \else
- \edef\W_next{\noexpand\end{\@currenvir}}%
- \W_next
- \fi
- \fi
- \fi}
-\def\W_gobbling_item#1{\item}
-
-%% ==== Verbatim Environment ====
-
-\def\W_indent{\begin{W_verbatim}}
-\def\W_verbatim{%
- \let\obeylines\W_obeylines
- \@verbatim \frenchspacing\@vobeyspaces}
-\let\endW_verbatim\endverbatim
-
-\MakeActive{\^^M}
-\def\W_obeylines{%
- \catcode`\^^M\active%
- \def^^M{\par\futurelet\@let@token\W_check_verbcont}}%
-\nowikiEnvironments%
-
-\def\W_check_verbcont{%
- \ifx\@let@token\@xobeysp
- \expandafter \@gobble %% gobble one space
- \else
- \def\W_next{\end{W_verbatim}}%
- \expandafter \W_next
- \fi}
-
-%% TODO: enable user to switch between environment ``encodings''
-%% or to disable some of them (edit \W_on_firsttoken)
-
- \fi %% from \ifx\wikiEnvironments \else
-
-
-%% === Turning Wiki Markup On and Off ===
-
-\def\wikimarkup{\wikiFonts\wikiHeadings\wikiEnvironments}
-\def\nowikimarkup{%
- \MakeOther\`\MakeOther\'\MakeOther\=\AssignCatCode{\^^M}{5}}
-
-% \wikimarkup %% strange effects here, to be put into document
-
-\AssignCatCode\_{8}
-\endinput
-
-%% todo: tables, links, templates, (pseudo-)html-tags ...
-%% TODO: credits: easylatex etc.
-%% TODO: useful for: ... intuitive markup, ``poor man's WYSIWYG'',
-%% ASCII-WYSIWYG.
-%% Todo: improve Wiki markup: ``tab'' indents instead of `:'
-%% as in testing for end of list: after finding one
-%% leading space, test for another.
-
-
-