summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/unisugar
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-02-22 00:15:48 +0000
committerKarl Berry <karl@freefriends.org>2011-02-22 00:15:48 +0000
commit8645e8a5da54c3f1ea19c24002a20e0356e08bf7 (patch)
tree847f8d4ffe4160da1de80201e1a424142f8d2fb0 /Master/texmf-dist/tex/xelatex/unisugar
parent373b73d57dd1d68133ed622546d5ebec0764175a (diff)
new xelatex package unisugar (21feb11)
git-svn-id: svn://tug.org/texlive/trunk@21492 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/unisugar')
-rw-r--r--Master/texmf-dist/tex/xelatex/unisugar/unisugar.sty154
1 files changed, 154 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xelatex/unisugar/unisugar.sty b/Master/texmf-dist/tex/xelatex/unisugar/unisugar.sty
new file mode 100644
index 00000000000..feca9bfc27e
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/unisugar/unisugar.sty
@@ -0,0 +1,154 @@
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{hyperref}
+\newcommand\date@unisugar{2011/02/18}
+\newcommand\version@unisugar{V 0.9}
+\newcommand\author@unisugar{Yossi Gil}
+\newcommand\mail@unisugar{yogi@cs.technion.ac.il}
+\newcommand\signature@unisugar{%
+ unisugar \version@unisugar{} by
+ \author@unisugar{} \mail@unisugar
+}
+
+\ProvidesPackage{unisugar}[\date@unisugar{} \signature@unisugar:
+ Selected Unicode characters (⌘, ␣, •, ⏎, ¶, and §)
+ employed in some very common LaTeX commands.
+]
+
+\PackageInfo{unisugar}{This is unisugar, \signature@unisugar}
+
+\RequirePackage{ifxetex}
+\typeout{This is the unisugar package}
+\providecommand\discardNextChar[1]{}
+
+\providecommand*{\toEolnCommand}[2]{%
+ \newcommand*{#1}{%
+ \begingroup
+ \escapechar=`\\%
+ \catcode\endlinechar=\active
+ \csname\string#1\endcsname
+ }%
+ \begingroup%
+ \escapechar=`\\%
+ \lccode`\~=\endlinechar
+ \lowercase{%
+ \expandafter\endgroup
+ \expandafter\def\csname\string#1\endcsname##1~%
+ }{\endgroup#2\space}%
+}
+
+\toEolnCommand\toEolnSection{\section{#1}}
+\toEolnCommand\toEolnSubsection{\subsection{#1}}
+\toEolnCommand\toEolnSubsubsection{\subsubsection{#1}}
+\toEolnCommand\toEolnParagraph{\paragraph{#1}}
+\toEolnCommand\toEolnSubparagraph{\subparagraph{#1}}
+
+\ifxetex
+ \relax
+\else
+ \PackageWarning{You should be LaTeXing your file with "xelatex \jobname" to enjoy this package fully}
+ \endinput
+\fi
+
+% ⌘: U+2318 PLACE OF INTEREST SIGN (also command key), is used as a direction
+% neutral escape character. Makes it possible to write to use the command key
+% character as a command prefix. Useful in particular with right-to-left texts,
+% in which the familiar backslash may be a bit confusing.
+\catcode"2318=11
+\edef\⌘{⌘}
+\catcode"2318=0
+
+% ␣: U+2423 OPEN BOX, a visual space is allowed as a legitimate character in
+% control sequences, whereby eliminating the need for ugly juxtaposing of words.
+⌘catcode"2423=11
+⌘edef\␣{␣}
+⌘catcode"2423=11
+
+% •: U+2022 BULLET (black small circle), a sugared alias for ⌘item.
+⌘catcode"2022=11
+⌘edef\•{•}
+⌘catcode"2022=⌘active
+⌘newcommand•{⌘item}
+
+% ⏎: U+23CE RETURN SYMBOL, a sugared nickname for \\
+⌘catcode"23CE=11
+⌘edef\⏎{⏎}
+⌘catcode"23CE=⌘active
+⌘newcommand⏎{\\}
+
+% ⌖: U+2316 POSITION INDICATOR, is an alias for LaTeX's \label command.
+⌘catcode"2316=11
+⌘edef\⌖{⌖}
+⌘catcode"2316=⌘active
+⌘newcommand⌖[1]{⌘label{#1}}
+
+% ☝: U+261D WHITE UP POINTING INDEX, is an alias LaTeX's \ref command.
+⌘catcode"261D=11
+⌘edef\☝{☝}
+⌘catcode"261D=⌘active
+⌘newcommand☝[1]{⌘ref{#1}}
+
+% ¶: U+00B6 PILCROW SIGN, will serve as a sugar nickname for ⌘paragraph, using
+% the remainder of the line as the paragraph's title. Further, ¶¶, that is two
+% successive occurrences of the pilcrow sign, shall serve as a sugared nickname
+% for ⌘subparagraph, employing the remainder of the text on the current line as
+% the subparagraph's title.
+⌘catcode"B6=11
+⌘edef\¶{¶}
+⌘catcode"B6=⌘active
+⌘newcommand¶{⌘paragraph␣sugar}
+
+\newcommand\paragraph␣sugar{%
+ \@ifnextchar¶{%
+ \expandafter
+ \toEolnSubparagraph
+ \discardNextChar
+ }{%
+ \toEolnParagraph
+ }%
+}
+
+
+
+% §: U+00A7 SECTION SIGN, will serve as a sugar nickname for ⌘section, using
+% the remainder of the line as the section's title. Further, §§, that is two
+% successive occurrences of this Unicode code point, shall serve as a sugared
+% nickname for ⌘subsection, employing the remainder of the text on the current
+% line as the subsection's title. Even further, §§§, three successive
+% occurrences shall serve as a sugared nickname for ⌘subsubsection, employing
+% again, the remainder of text on the line as the subsubsection's title.
+%
+⌘catcode"A7=11
+⌘edef\§{§}
+⌘catcode"A7=⌘active
+⌘newcommand§{⌘section␣sugar}
+⌘newcommand⌘section␣sugar{%
+ \@ifnextchar§{% Two or more § were found.
+ \expandafter
+ \sub␣or␣subsub␣section
+ \discardNextChar
+ }{% Single § found.
+ \toEolnSection
+ }%
+}
+
+\newcommand*\sub␣or␣subsub␣section{%
+ \@ifnextchar§{%
+ \expandafter
+ \toEolnSubsubsection
+ \discardNextChar
+ }{%
+ \toEolnSubsection
+ }%
+}
+
+
+
+
+
+
+
+
+
+
+
+