% Copyright (C) 2011 by Yossi Gil yogi@cs.technion.ac.il % --------------------------------------------------------------------------- % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License (LPPL), either version 1.3 of this license or (at your % option) any later version. The latest version of this license is in % http://www.latex-project.org/lppl.txt and version 1.3 or later is part of all % distributions of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Yossi Gil % % This work consists of the files unisugar.tex and unisugar.sty and the derived % file unisugar.pdf \NeedsTeXFormat{LaTeX2e} \newcommand\date@unisugar{2011/05/07} \newcommand\version@unisugar{V 0.92} \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 (e.g., ⌘, ␣, •, ⏎, ¶, 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 use the command key % character as a command prefix. Useful in particular with right-to-left texts, % in which the familiar, yet directionally non-neutral, 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\␣{␣} % …: U+2026 HORIZONTAL ELLIPSIS, will serve as a sugar nickname for \ldots. ⌘catcode"2026=⌘active ⌘newcommand…{⌘ldots} % •: 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 }% }