| \def\keyword#1{\textbf{#1}} |
| \def\builtinId#1{\textbf{#1}} |
| \def\comment#1{\textit{#1}} |
| \def\capt#1{\rmfamily \caption{#1}} |
| \newcommand{\cd}[1]{\textsf{#1}} |
| \def\lt{\ensuremath{<}} |
| \def\gt{\ensuremath{>}} |
| \def\<{\ensuremath{\langle}} |
| \def\>{\ensuremath{\rangle}} |
| \def\metavar#1{\ensuremath{\mathit{#1}}} |
| |
| \def\ABSTRACT{\builtinId{abstract}} |
| \def\AS{\builtinId{as}} |
| \def\COVARIANT{\builtinId{covariant}} |
| \def\DEFERRED{\builtinId{deferred}} |
| \def\DYNAMIC{\builtinId{dynamic}} |
| \def\EXPORT{\builtinId{export}} |
| \def\EXTERNAL{\builtinId{external}} |
| \def\FACTORY{\builtinId{factory}} |
| \def\GET{\builtinId{get}} |
| \def\IMPLEMENTS{\builtinId{implements}} |
| \def\IMPORT{\builtinId{import}} |
| \def\LIBRARY{\builtinId{library}} |
| \def\OPERATOR{\builtinId{operator}} |
| \def\PART{\builtinId{part}} |
| \def\SET{\builtinId{set}} |
| \def\STATIC{\builtinId{static}} |
| \def\TYPEDEF{\builtinId{typedef}} |
| |
| \def\ASSERT{\keyword{assert}} |
| \def\ASYNC{\keyword{async}} |
| \def\AWAIT{\keyword{await}} |
| \def\BREAK{\keyword{break}} |
| \def\CALL{\keyword{call}} |
| \def\CASE{\keyword{case}} |
| \def\CATCH{\keyword{catch}} |
| \def\CLASS{\keyword{class}} |
| \def\CONST{\keyword{const}} |
| \def\CONTINUE{\keyword{continue}} |
| \def\DEFAULT{\keyword{default}} |
| \def\DO{\keyword{do}} |
| \def\ELSE{\keyword{else}} |
| \def\ENUM{\keyword{enum}} |
| \def\EXTENDS{\keyword{extends}} |
| \def\FALSE{\keyword{false}} |
| \def\FINAL{\keyword{final}} |
| \def\FINALLY{\keyword{finally}} |
| \def\FOR{\keyword{for}} |
| \def\HIDE{\keyword{hide}} |
| \def\IF{\keyword{if}} |
| \def\IN{\keyword{in}} |
| \def\IS{\keyword{is}} |
| \def\NEW{\keyword{new}} |
| \def\NULL{\keyword{null}} |
| \def\OF{\keyword{of}} |
| \def\ON{\keyword{on}} |
| \def\RETHROW{\keyword{rethrow}} |
| \def\RETURN{\keyword{return}} |
| \def\SHOW{\keyword{show}} |
| \def\SUPER{\keyword{super}} |
| \def\SWITCH{\keyword{switch}} |
| \def\SYNC{\keyword{sync}} |
| \def\THIS{\keyword{this}} |
| \def\THROW{\keyword{throw}} |
| \def\TRUE{\keyword{true}} |
| \def\TRY{\keyword{try}} |
| \def\VAR{\keyword{var}} |
| \def\VOID{\keyword{void}} |
| \def\WHILE{\keyword{while}} |
| \def\WITH{\keyword{with}} |
| \def\YIELD{\keyword{yield}} |
| |
| \newenvironment{Q}[1]{{\bf #1}}{} |
| \newenvironment{rationale}[1]{{\it #1}}{} |
| \newenvironment{commentary}[1]{{\sf #1}}{} |
| |
| \newenvironment{dartCode}[1][!ht] { |
| % \begin{verbatim}[#1] |
| \def\@programcr{\@addfield\strut} |
| \let\\=\@programcr |
| \relax\@vobeyspaces\obeylines |
| |
| \sffamily |
| }{ |
| %\end{verbatim} |
| } |
| |
| % ---------------------------------------------------------------------- |
| % Support for hash valued Location Markers |
| |
| % very small font, to enable 40 char hash values in the margin |
| \makeatletter |
| \ifcase \@ptsize \relax% 10pt |
| \newcommand{\miniscule}{\@setfontsize\miniscule{2}{3}}% \tiny: 5/6 |
| \or% 11pt |
| \newcommand{\miniscule}{\@setfontsize\miniscule{3}{4}}% \tiny: 6/7 |
| \or% 12pt |
| \newcommand{\miniscule}{\@setfontsize\miniscule{3}{4}}% \tiny: 6/7 |
| \fi |
| \makeatother |
| |
| % white: location markers should not create visual noise |
| \definecolor{LMdim}{gray}{1.0} |
| |
| % insert location marker showing hash value of following paragraph |
| \newcommand{\LMHash}[1]{% |
| \hspace{0pt}\marginpar{\raisebox{0.5ex}{\miniscule{\color{LMdim}#1}}}} |
| |
| % support convenient renewcommand |
| \let\OriginalLMHash\LMHash |
| |
| % define a label, and show the associated logical location marker |
| \newcommand{\LMLabel}[1]{% |
| \vspace{-\baselineskip}\hspace{0pt}\OriginalLMHash{\raisebox{10ex}{#1}}% |
| \label{#1}} |
| % ---------------------------------------------------------------------- |