%% %% This is file `tascmac.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% ascmac.dtx (with options: `tascmac') %% %% Copyright (c) 2010 ASCII MEDIA WORKS %% Copyright (c) 2016-2020 Japanese TeX Development Community %% %% This file is part of ascmac community edition. %% ------------------------------------------------------------- %% %% "tascmac" document style option for tate gumi. %% %% Original version: %% Copyright (C) by 1993, ASCII Corporation & Impress Corporation. %% (Last update: 2006/07/14) %% Modified by Japanese TeX Development Community, since 2016. %% %% (ChangeLog has moved to the source file ``ascmac.dtx'') %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{tascmac} [2020/01/15 v2.1 ascmac package (community edition) ] %% %% Originally `ascmac' and `tascmac' can be used only in %% pLaTeX, upLaTeX or LuaLaTeX with LuaTeX-ja support. %% We (texjporg) started to support other engines, such as %% pdfLaTeX, XeLaTeX and LuaLaTeX (even without LuaTeX-ja). %% \newif\ifascmac@ptex \ascmac@ptextrue \ifx\kanjiskip\@undefined \@ifpackageloaded{luatexja}{% \PackageInfo{tascmac}{% Patch from LuaTeX-ja will be applied}% }{% \PackageInfo{tascmac}{% Assuming pdfLaTeX, XeLaTeX or LuaLaTeX}% \ascmac@ptexfalse }% \fi \chardef\ascmac@q@catcode=\catcode`\Q\relax \ifascmac@ptex \catcode`\Q=9\relax \else \catcode`\Q=14\relax \fi %% %% Use Type1 font for ascgrp: moved to an external map file %% %% ascmac.sty 10/28 '88 %% ASCII special macros Q \ifx\@savetbaselineshift\@undefined \newdimen\@savetbaselineshift \fi Q \ifx\@saveybaselineshift\@undefined \newdimen\@saveybaselineshift \fi %% %% ASCII logo \def\@@ASCII#1#2#3{\shortstack{#1 ASCII \\[#3] \fontsize{#2}{\z@}\usefont{OT1}{cmss}{m}{n}ASCII CORPORATION}} \def\ascii{\@ifundefined{@ascii}{\font\@ascii=ascii10 scaled \magstep4}{}% \@@ASCII\@ascii{5pt}{-6pt}} \def\Ascii{\@ifundefined{@Ascii}{\font\@Ascii=ascii10 scaled \magstep5}{}% \@@ASCII\@Ascii{6pt}{-7pt}} \def\ASCII{\@ifundefined{@ASCII}{\font\@ASCII=ascii36}{}% \@@ASCII\@ASCII{9pt}{-9pt}} %% %% boxnote environment \font\@ascgrp=ascgrp \newbox\scb@x \newbox\scscb@x \newdimen\@bw\newbox\@nbox\newbox\@nbody \def\boxnote{\par\vspace{.3\baselineskip}% Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@ Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@ \setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b} \@whiledim \wd\@nbox<\hsize \do{ \setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}} \setbox\@nbox=\hbox to\hsize{\@ascgrp\unhbox\@nbox \hss a\hss b% \vrule width1.08pt depth35pt} \@bw=\wd\@nbox\advance\@bw -40pt \begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27) Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift }% \def\endboxnote{\end{minipage}\end{lrbox}% \vbox{\parindent=0pt\offinterlineskip\copy\@nbox \hbox to\wd\@nbox{\vrule width1.08pt\hfil\box\@nbody\hfil\vrule width1.08pt} \hbox to\wd\@nbox{\vrule width1.08pt height15pt\hfil \vrule width1.08pt height15pt}\hrule height1.08pt}} %% %% screen environment \newdimen\@scw \newbox\ascmac@hoboxa \newbox\ascmac@hoboxb \def\ascmac@parse@ovarg#1{% Q \iftdir Q \def\ascmac@ovarg{}% Q \@tfor\reserved@a:=#1\do{% Q \if l\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg t}% Q \else\if t\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg r}% Q \else\if r\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg b}% Q \else\if b\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg l}% Q \fi\fi\fi\fi}% Q \else \def\ascmac@ovarg{#1}% Q \fi } \def\ascmac@pass@oval#1#2{\oval(#2,#2)[#1]} \def\@hobox#1#2#3{% \ascmac@parse@ovarg{#1}\setbox\ascmac@hoboxa=\hbox{% Q \yoko \expandafter\ascmac@pass@oval\expandafter{\ascmac@ovarg}{#3}\hss}% \ascmac@parse@ovarg{#2}\setbox\ascmac@hoboxb=\hbox{% Q \yoko \expandafter\ascmac@pass@oval\expandafter{\ascmac@ovarg}{#3}\hss}% \wd\ascmac@hoboxa=\z@ \wd\ascmac@hoboxb=\z@ % the following two lines are unnecessary for (u)pLaTeX, but % added intentionally for LuaTeX-ja (\wd <-> \ltjsetwd incompatible) \ht\ascmac@hoboxa=\z@ \ht\ascmac@hoboxb=\z@ \dp\ascmac@hoboxa=\z@ \dp\ascmac@hoboxb=\z@ \hbox to\@scw{\box\ascmac@hoboxa\hfil\box\ascmac@hoboxb\relax \dimen\z@=#3\unitlength\advance\dimen\z@\@wholewidth \vrule\@width\z@\@height\z@\@depth.5\dimen\z@}} \def\@vrf@#1#2{\vskip#1\leaders\vrule width#2\vfil\vskip#1} \def\screen{% Q \@saveybaselineshift\ybaselineshift \ybaselineshift\z@ Q \@savetbaselineshift\tbaselineshift \tbaselineshift\z@ \@ifnextchar[{\@screen}{\@screen[0]}} \def\@screen[#1]{\ifcase#1\def\@r{20}\def\@s{9.8pt}\def\@sx{10pt}\or \def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or \def\@r{16}\def\@s{7.8pt}\def\@sx{8pt}\or \def\@r{14}\def\@s{6.8pt}\def\@sx{7pt}\or \def\@r{12}\def\@s{5.8pt}\def\@sx{6pt}\or \def\@r{10}\def\@s{4.8pt}\def\@sx{5pt}\or \def\@r{8}\def\@s{3.8pt}\def\@sx{4pt}\or \def\@r{6}\def\@s{2.8pt}\def\@sx{3pt}\else \def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi \par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27) Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift }% \def\endscreen{\end{minipage}\egroup% \setbox\scscb@x=\hbox to\linewidth{\hfil\vbox{\offinterlineskip% \thinlines\setlength{\unitlength}{1pt}\hrule\kern\@s% \@hobox{tl}{tr}{\@r}\kern-\@sx\box\scb@x\@hobox{bl}{br}{\@r}% \kern-.4pt\hrule}\hfil}\dimen0=\ht\scscb@x% \dimen2=\@sx\advance\dimen2 .2pt \noindent\hbox to\linewidth{\hbox to.2pt{\vbox to\dimen0{\@vrf@{\dimen2}{.4pt}}% \hss}\box\scscb@x\hbox to.2pt{\hss\vbox to\dimen0{\@vrf@{\dimen2}{.4pt}}}\hss}}% %% %% itembox environment %% replace \box0 with \@iboxstr; thanks FTEXers (1998/11/27) \newdimen\@itemh\newtoks\@iboxpos\newbox\@iboxstr \def\@hleader{\leaders\hrule height .8pt\hfil} \def\itembox{\@ifnextchar[{\@itembox}{\@itembox[c]}} \def\@itembox[#1]#2{% Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@ Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@ \par\vspace{.3\baselineskip}% \setbox\@iboxstr=\hbox{% Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift #2}% \@itemh\ht\@iboxstr\advance\@itemh\dp\@iboxstr \vspace{.5\@itemh}\bgroup\@scw\linewidth \advance\@scw-20pt\@iboxpos={#1}% \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% Q \ybaselineshift\@saveybaselineshift Q \tbaselineshift\@savetbaselineshift% (KN:1998/02/27) \vspace*{.5\@itemh}}% \def\enditembox{\end{minipage}\egroup% \setbox\scscb@x=\hbox to\linewidth{\hfil\vbox{\offinterlineskip% \thicklines\setlength{\unitlength}{1pt}% \hbox to\@scw{\if l\the\@iboxpos\else\@hleader\fi \space\vbox to.8pt{\vss\hbox{\box\@iboxstr}\vss}% \space\if r\the\@iboxpos\else \@hleader\fi}\kern9.6pt \@hobox{tl}{tr}{20}\kern-10pt\box\scb@x\@hobox{bl}{br}{20}% \kern-.8pt\hrule height.8pt}\hfil}\dimen0=\ht\scscb@x% \noindent\hbox to\linewidth{\hbox to.4pt{\vbox to\dimen0{\@vrf@{10.4pt}{.8pt}}% \hss}\box\scscb@x\hbox to.4pt{\hss\vbox to\dimen0{\@vrf@{10.4pt}{.8pt}}}% \hss}\egroup} %% %% \keytop \def\keytop{\@ifnextchar[{\@keytop}{\@keytop[d]}} \def\@keytop[#1]#2{% {\setbox0=\hbox{\shortstack{#2}}% Q \ybaselineshift\z@ \tbaselineshift\z@ \dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt% \setbox\scscb@x=\hbox to\dimen0{% Q \iftdir\tate\else\yoko\fi \@scw\wd0\hfil\vtop{\offinterlineskip \thinlines\setlength{\unitlength}{1pt}\hrule\kern2.3pt\@hobox{tl}{tr}5% \kern-2.4pt\box0\@hobox{bl}{br}5\kern-.4pt\hrule}\hfil}% \dimen0=\dp\scscb@x\advance\dimen0 -.4pt \setbox0=\vbox{\hbox{\hbox to.2pt{\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}\hss}% \box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}}}}% \if #1c\mbox{}$\vcenter{\box0}$\mbox{}\else \if #1t\else\if #1b\boxmaxdepth=0pt\else \boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}} %% %% \yen \def\yen{\leavevmode\hbox{% Q \iftdir\yoko\fi \setbox0=\hbox{Y}Y\kern-.97\wd0\vbox{\hrule height.1ex width.98\wd0 \kern.33ex\hrule height.1ex width.98\wd0\kern.45ex}}} %% %% return-key \begingroup \def\ascmac@definable{\PackageInfo{ascmac}{Command \@backslashchar\reserved@a\space already defined, but compatible with\MessageBreak ascmac package, overwriting}} \def\ascmac@check#1{\ifx#1\@undefined\else\ascmac@parse{#1}\fi} \def\ascmac@parse#1{\edef\reserved@a{\expandafter\@gobble\string #1}% \edef\ascmac@parse@tmp{\meaning#1 \string\@ascgrp}% \expandafter\ascmac@parse@i\ascmac@parse@tmp\@nil} \expandafter\def\expandafter\ascmac@parse@i \expandafter#\expandafter1\string\@ascgrp#2\@nil{\ifx\relax#2\relax \@notdefinable\else\ascmac@definable\fi} \ascmac@check{\Return} \endgroup \def\return{\leavevmode\hbox{% Q \iftdir\yoko\fi \@ascgrp\char"20}} \def\Return{\leavevmode\hbox{% Q \iftdir\yoko\fi \@ascgrp @}} %% %% \mask \newbox\@bwsp \newbox\@@bwsp\newcount\@bcal \def\setdim@#1#2{\@bcal=#2\divide#1\@bcal\multiply#1\@bcal\advance#1 1.001#2} \def\mask#1#2{{\setbox\@bwsp=\hbox{#1}% \setbox0=\hbox{% Q \ybaselineshift\z@\tbaselineshift\z@ \@ascgrp#2}% \dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1 \setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}% \setbox\@@bwsp=\hbox to\dimen0{\leaders \vtop to\dimen1{\leaders\box0\vfil}\hfil}% \advance\dimen2\dp\@@bwsp\divide\dimen2 2 \advance\dimen2\dp\@bwsp\boxmaxdepth=\dimen2 \setbox\@@bwsp=\vbox{\box\@@bwsp}% \mbox{}\hbox to\wd\@@bwsp{\hbox to0pt{\box\@@bwsp\hss}\hss\unhbox\@bwsp\hss}}} %% %% \Maskbox{width}{height}{mask_char}{pos}{rule_wid}{body} %% \maskbox{width}{height}{mask_char}{pos}{body} \def\@setdim#1#2{\@bcal=#2\divide#1\@bcal\multiply#1\@bcal\advance#1 .001#2} \def\Maskbox#1#2#3#4#5#6{{% \setbox0=\hbox{% Q \ybaselineshift\z@\tbaselineshift\z@ \@ascgrp#3}% \dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}% \ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi \ifx#4r\skip0=0pt plus1fil\skip1=0pt\fi \ifx#4l\skip1=0pt plus1fil\skip0=0pt\fi \leavevmode \hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders \box0\vfil}\hfil}\hss}% \vrule width#5\vbox to\dimen1{\hrule height#5\vfil \dimen3=#5\advance\dimen0-2\dimen3\advance\dimen0 .15pt \hbox to\dimen0{\hskip\skip0\relax#6\hskip\skip1}% \vfil\hrule height#5}\vrule width#5}}} \def\maskbox#1#2#3#4#5{\Maskbox{#1}{#2}{#3}{#4}{0pt}{#5}} %% %% shadebox environment \newdimen\shaderule\shaderule 5pt \def\shadebox{\par\vspace{.3\baselineskip}% Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@ Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@ \dimen0\linewidth \advance\dimen0-20pt \advance\dimen0-2\fboxrule \advance\dimen0-\shaderule \setbox\@tempboxa=\hbox\bgroup\minipage{\dimen0}% Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift } \def\endshadebox{\endminipage\egroup\dimen0=10pt \setbox\@tempboxa=\hbox{\kern\dimen0\unhbox\@tempboxa\kern\dimen0}% \setbox0=\vbox{\hrule \@height \fboxrule \hbox{\vrule \@width \fboxrule \vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}% \vrule \@width \fboxrule}\hrule \@height \fboxrule}% \dimen0=\ht0 \advance\dimen0-\shaderule \hbox{\hbox to \shaderule{\copy0\hss}\kern 0pt \vrule width\wd0 height0pt depth\shaderule\hskip-\shaderule \vrule width\shaderule height\dimen0}} %% \catcode`\Q=\ascmac@q@catcode\relax %% \endinput %% %% End of file `tascmac.sty'.