-
-
Save zr-tex8r/4738770 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% This is a modified version of tascmac.sty, provided as part of | |
% the pTeX distribution originally authored by ASCII MEDIA WORKS Inc. | |
% The information of the original file is given below: | |
%--------------------------------------- | |
% "tascmac" document style option for tate gumi. | |
% | |
% Copyright (C) by 1993, ASCII Corporation & Impress Corporation. | |
% | |
% 2006/07/14 (ST): itembox, screen environment bug fix. | |
% 2002/04/01 (KN): ASCII logo macros | |
% 1998/11/27 (KN and FTEXers): itembox | |
% 1998/02/27 (KN): set \tbaselineshift in minipage environment. | |
% | |
% ascmac.sty 10/28 '88 | |
% ASCII special macros | |
\newdimen\@savetbaselineshift | |
\newdimen\@saveybaselineshift | |
% | |
%% 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{\baselineskip} | |
\@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) | |
\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 | |
\def\@hobox#1#2#3{\hbox to\@scw{\@oval(#3,#3)[#1]\hfil\@oval(#3,#3)[#2]}} | |
\def\@vrf@#1#2{\vskip#1\leaders\vrule width#2\vfil\vskip#1} | |
\def\screen{% | |
\@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) | |
\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{% | |
\@savetbaselineshift\tbaselineshift\tbaselineshift\z@ | |
\par\vspace{.3\baselineskip}% | |
\setbox\@iboxstr=\hbox{#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}% | |
\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{\tbaselineshift\z@ | |
{\setbox0=\hbox{\shortstack{#2}}% | |
\dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt% | |
\setbox\scscb@x=\hbox to\dimen0{% | |
\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-.25pt\hrule}\hfil}\dimen0=\dp\scscb@x% | |
\setbox0=\vbox{\hbox{\hbox to0pt{\hss\vtop to\dimen0{\@vrf@{2.5pt}{.4pt}}}% | |
\box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.5pt}{.4pt}}}}}% | |
\if #1c $\vcenter{\box0}$ \else \if #1t\else\if #1b\boxmaxdepth=0pt\else | |
\boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}} | |
% | |
%% \yen | |
% | |
% \changes{1996/03/13}{v1.1}{Append \cs{leavevmode} in | |
% \cs{yen}, \cs{return}, \cs{Return} command.} | |
% | |
\def\yen{\leavevmode\hbox{\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 | |
\def\return{\leavevmode\hbox{\iftdir\yoko\fi\@ascgrp\char"20}} | |
\def\Return{\leavevmode\hbox{\iftdir\yoko\fi\@ascgrp @}} | |
% | |
%% \mask & \maskbox | |
\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{\tbaselineshift\z@ | |
{\setbox\@bwsp=\hbox{#1}\setbox0=\hbox{\@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\hbox{\@ascgrp#2}\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} | |
\def\@setdim#1#2{\@bcal=#2\divide#1\@bcal\multiply#1\@bcal\advance#1 .001#2} | |
\def\Maskbox#1#2#3#4#5#6{{\tbaselineshift\z@ | |
\setbox0=\hbox{\@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 | |
\hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders | |
\hbox{\@ascgrp#3}\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{\dimen0\linewidth \advance\dimen0-20pt | |
\advance\dimen0-2\fboxrule \advance\dimen0-\shaderule | |
\setbox\@tempboxa=\hbox\bgroup\minipage{\dimen0}} | |
\def\endshadebox{\endminipage\egroup\dimen0=10pt \advance\dimen0-\fboxrule | |
\setbox\@tempboxa=\hbox{\kern\dimen0\unhbox\@tempboxa\kern\dimen0}% | |
\setbox0=\vbox{\hrule \@height \fboxrule | |
\hbox{\vrule \@width \fboxrule \hskip-\fboxrule | |
\vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}% | |
\hskip-\fboxrule\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}} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\documentclass{article} | |
\usepackage[papersize={100pt,100pt},scale=0.9]{geometry} | |
\usepackage{ascmac} | |
\begin{document} | |
\begin{screen}[0]Hogehoge\end{screen} | |
\begin{itembox}{FOO}Foobar\end{itembox} | |
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The original code of tascmac.sty is recorded in the previous revision.
This work, as well as the original, is under the modified BSD license.