% \iffalse meta-comment % % arcs.dtx % Copyright 2004 Gianfranco Boggio-Togna % % This program may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version~1.2 % 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.2 or later is part of all distributions of LaTeX % version 1999/12/01 or later. % % This program consists of the files arcs.dtx and arcs.ins % %<*driver> \documentclass[11pt]{ltxdoc} \setlength{\parindent}{0pt} \setlength{\parskip}{1ex} \MakeShortVerb{|} % To get the documented source of the package, comment out % the next line and uncomment the following one. \OnlyDescription %\AlsoImplementation \begin{document} \DocInput{arcs.dtx} \end{document} % % % \fi % % \CheckSum{188} % \makeatletter % \let\ps@titlepage=\ps@empty % \makeatother % % \title{{\LARGE\tt arcs.sty}\\ % Placing an arc over (under) some text\\ % {\small Version 1\ \ (2004/05/09)}\\\ \\} % \author{Gianfranco Boggio\,--Togna\\ % \textsl{gbt\kern .08em @\kern .1em acm.org}} % \date{} % \maketitle % \vspace{6ex} % The package provides two commands for placing an arc over or under % a short (up to three letters) piece of text. The commands generate an % |\hbox| and can be used in math formulas % (see \textit{The \TeX{}book}, p.\,151). % % |\overarc| puts an arc above the text given as argument.\\ % |\underarc| puts the arc below the text. % % The size of the arc is chosen so that it embraces all the text. In % some cases, you may wish to use a smaller or larger size. An % optional argument can specify a factor which % is multiplied by the width of the text: the size of the symbol is then % chosen as if the text had that width. Keep in mind, however, that only % a limited range of sizes is available in the Computer Modern fonts. % \vfill % {\footnotesize % \noindent \copyright\ Copyright 2004 Gianfranco Boggio\,--Togna.\par % This program may be distributed and/or modified under the % conditions of the \LaTeX{} Project Public License, either version~1.2 % of this license or (at your option) any later version. % The latest version of this license is in % \texttt{http://www.latex-project.org/lppl.txt} % and version 1.2 or later is part of all distributions of \LaTeX{} % version 1999/12/01 or later.\par % This program consists of the files \texttt{arcs.dtx} and % \texttt{arcs.ins} % } % \newpage % \StopEventually{} % \section*{The code} % \begin{macrocode} \NeedsTeXFormat {LaTeX2e}[2003/12/01] \ProvidesPackage {arcs}[2004/05/09] \RequirePackage {relsize} \newcommand{\overarc}[2][1]{\over@under@arc{#1}{#2}\z@} \newcommand{\underarc}[2][1]{\over@under@arc{#1}{#2}\@ne} \newcommand{\over@under@arc}[3]{% \leavevmode \hbox {% \setbox\z@ = \hbox {#2}% \ifdim \ht\z@ = \z@ % arc over/under space \ifdim \dp\z@ = \z@ \ht\z@ = 1ex\relax \fi \fi \dimen@ = #1\wd\z@ \begingroup \let \rs@size@warning = \@gobbletwo \relsize{-10}% \wd\@ne = \z@ \@whiledim \wd\@ne < .95\dimen@ \do {% \ifx \@currsize \Huge \dimen@ = \z@ \else $% \skip@ = \f@baselineskip \fontencoding{OML}\fontfamily{cmm}\fontseries{m}% \fontshape{it}\fontsize{\ssf@size}{\skip@}\selectfont \global \setbox\@ne = \hbox {% \hss\symbol{"5\ifnum #3=\z@ F\else E\fi}\hss}% \ifdim \wd\@ne < \dimen@ \fontsize{\sf@size}{\skip@}\selectfont \global \setbox\@ne = \hbox {% \hss\symbol{"5\ifnum #3=\z@ F\else E\fi}\hss}% \ifdim \wd\@ne < \dimen@ \fontsize{\tf@size}{\skip@}\selectfont \global \setbox\@ne = \hbox {% \hss\symbol{"5\ifnum #3=\z@ F\else E\fi}\hss}% \fi \fi $% \fi \ifdim \wd\@ne < \dimen@ \relsize{+1}% \fi \global \dimen@i = \fontdimen5\the\font }% \endgroup \ifnum #3 = \z@ \dimen@ii = 1.067\ht\z@ \global \divide \dimen@i by \tw@ \global \advance \dimen@i by -\ht\@ne \advance \dimen@ii by .6\dimen@i \else \dimen@ii = -1.05\ht\@ne \advance \dimen@ii by -.75pt \ifdim \dp\z@ > \z@ \advance \dimen@ii by -\dp\z@ \fi \fi \copy\z@ \dimen@ = \wd\z@ \advance \dimen@ by \wd\@ne \kern -.5\dimen@ \raisebox {\dimen@ii}[\z@][\z@]{\copy\@ne}% \dimen@ = \wd\z@ \advance \dimen@ by -\wd\@ne \dimen@ = .5\dimen@ \kern \dimen@ }% } % \end{macrocode} %% \Finale \endinput