<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% \iffalse meta-comment
%
%  Copyright (c) 2010 ASCII MEDIA WORKS
%  Copyright (c) 2016-2020 Japanese TeX Development Community
%
%  This file is part of ascmac community edition.
%  -------------------------------------------------------------
%
% \fi
%
%
% \iffalse
%
% 2020/01/15 v2.1
%     - Use an external map file for supporting dvips.
% 2020/01/14 v2.0j
%     - Fix a bug introduced in v2.0i for XeLaTeX.
% 2020/01/13 v2.0i
%     - Fix a bug: latex in DVI mode of pdfTeX did not work.
% 2018/03/09 v2.0h
%     - Moved to new GitHub repository:
%       https://github.com/texjporg/ascmac
% 2017/12/22 v2.0g
%     - Made compatible with pict2e also for tate-gumi.
% 2017/12/17 v2.0f
%     - Fix a bug.
% 2017/12/06 v2.0e
%     - Again works with non-e-TeX engines.
% 2017/07/22 v2.0d
%     - Check existing \Return definition and throw an error
%       if it is not compatible with ascmac.
% 2016/08/21 v2.0c
%     - Support pdfLaTeX, XeLaTeX and LuaLaTeX.
% 2016/04/15 v2.0b
%     - Simplify \@keytop.
% 2016/03/13 v2.0a
%     - Avoid arithmetic overflow in \mask/\maskbox.
% 2016/03/12 v2.0
%     - Converted to DTX file.
%     - Remove extra spaces before/after \keytop[c]{...}.
%     - Adjust parameters for \keytop.
% 2016/03/06
%     - Set \tbaselineshift in itembox str and shadebox env.
%     - Delete \tbaselineshift\z@ in \mask and \Maskbox.
%     - Save \ybaselineshift.
% 2016/03/04
%     - boxnote, shadebox begin with \par\vspace{.3\baselineskip}.
%     - Adjust the width of shadebox environment.
% 2016/02/21 (many thanks to ZR for suggestions in bxascmac)
%     - Made compatible with pict2e (tate-gumi not supported yet).
%     - Adjust parameters for drawing rounded rectangles.
%     - Fix bugs in \maskbox and \Maskbox.
% 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.
%
% \fi
%
% \iffalse
%&lt;*ascmac&gt;
%% wrapper for tascmac.sty
%%
%&lt;/ascmac&gt;
%&lt;*tascmac&gt;
%% "tascmac" document style option for tate gumi.
%%
%% Original version:
%%   Copyright (C) by 1993, ASCII Corporation &amp; Impress Corporation.
%%   (Last update: 2006/07/14)
%% Modified by Japanese TeX Development Community, since 2016.
%%
%% (ChangeLog has moved to the source file ``ascmac.dtx'')
%%
%&lt;/tascmac&gt;
%&lt;ascmac|tascmac&gt;\NeedsTeXFormat{LaTeX2e}
%&lt;*driver&gt;
\NeedsTeXFormat{pLaTeX2e}
\ProvidesFile{ascmac.dtx}
%&lt;/driver&gt;
%&lt;tascmac&gt;\ProvidesPackage{tascmac}
%&lt;ascmac&gt;\ProvidesPackage{ascmac}
  [2020/01/15 v2.1
%&lt;driver|tascmac&gt;  ascmac package (community edition)
%&lt;ascmac&gt;  ascmac wrapper (community edition)
  ]
%&lt;*driver&gt;
\documentclass{jltxdoc}
\usepackage{ascmac}
\GetFileInfo{ascmac.dtx}
\title{The \textsf{ascmac} package \fileversion}
\author{Japanese \TeX\ Development Community}
\date{菴懈�譌･�喀filedate}
\begin{document}
  \maketitle
  \DocInput{\filename}
\end{document}
%&lt;/driver&gt;
% \fi
%
% \tableofcontents
%
% \section{縺ｯ縺倥ａ縺ｫ}
%
% \textsf{ascmac}繝代ャ繧ｱ繝ｼ繧ｸ縺ｯ縲―LaTeXe{}縺ｮ讓呎ｺ匁ｩ溯�縺ｮ遽�峇縺ｧ縲∝峙繧�ｽｫ邱壹〒
% 蝗ｲ繧薙□繝懊ャ繧ｯ繧ｹ繧貞�蜉帙☆繧句多莉､縺ｪ縺ｩ繧呈署萓帙＠縺ｾ縺吶�\textsf{ascmac}繝代ャ繧ｱ繝ｼ繧ｸ
% 縺ｮ螳滉ｽ薙�\textsf{tascmac}繝代ャ繧ｱ繝ｼ繧ｸ縺ｧ縺吶′縲√％繧後�繧ゅ→繧ゅ→蜿､縺а\LaTeX{}縺ｧ
% 驟榊ｸ�＆繧後※縺�◆讓ｪ邨�ｰら畑\textsf{ascmac}繝代ャ繧ｱ繝ｼ繧ｸ縺ｨ縲√◎繧後ｒ邵ｦ邨�↓蟇ｾ蠢懊＆縺�
% 縺歃textsf{tascmac}繝代ャ繧ｱ繝ｼ繧ｸ繧堤ｵｱ蜷医＠縺溷錐谿九〒縺吶�
%
% 縺薙�繝峨く繝･繝｡繝ｳ繝医�縲√い繧ｹ繧ｭ繝ｼ縺ｫ繧医▲縺ｦ驟榊ｸ�＆繧後※縺�ｋ 2006/07/14 繝舌�繧ｸ繝ｧ繝ｳ
% 縺九ｉ豢ｾ逕溘＠縺ｦ縲∵律譛ｬ隱杤TeX{}髢狗匱繧ｳ繝溘Η繝九ユ繧｣縺ｫ繧医▲縺ｦ髢狗匱縺輔ｌ縺ｦ縺�ｋ繝舌�繧ｸ繝ｧ繝ｳ
% 縺ｮ縺溘ａ縺ｫ譁ｰ縺溘↓譖ｸ縺九ｌ縺ｾ縺励◆縲ゅさ繝溘Η繝九ユ繧｣迚医〒縺ｯ縲√が繝ｪ繧ｸ繝翫Ν縺ｮ繧｢繧ｹ繧ｭ繝ｼ迚医�
% 繧ｳ繝ｼ繝峨ｒ蜈�↓縲√＞縺上▽縺九�繝舌げ菫ｮ豁｣縺ｨ莉悶�繝代ャ繧ｱ繝ｼ繧ｸ縺ｨ縺ｮ莠呈鋤諤ｧ繧呈隼蝟�＠縺ｾ縺励◆縲�
% 縺ｾ縺溘」2.0c莉･髯阪〒縺ｯpdf\LaTeX{}縺ｪ縺ｩ縺ｮ繧ｨ繝ｳ繧ｸ繝ｳ繧ゅし繝昴�繝医＠縺ｾ縺励◆縲�
%
%\iffalse
% The package \textsf{ascmac} provides fancy boxes etc., within the scope
% of native \LaTeXe\ picture commands (thus driver-independent).
% This package was originally part of Japanese \pLaTeX, but now it
% supports pdf\LaTeX, Xe\LaTeX\ and Lua\LaTeX.
%\fi
%
% \section{菴ｿ縺�°縺毳
%
% \subsection{迺ｰ蠅�梛縺ｮ蜻ｽ莉､}
%
% \textsf{ascmac}繝代ャ繧ｱ繝ｼ繧ｸ縺梧署萓帙☆繧狗腸蠅�梛縺ｮ蜻ｽ莉､縺ｯ4遞ｮ鬘槭≠繧翫∪縺吶ゅ◎繧後◇繧�
% 繝�く繧ｹ繝医↑縺ｩ繧堤ｽｫ邱壽棧縺ｧ蝗ｲ繧薙〒蜃ｺ蜉帙＠縺ｾ縺吶�
%
% 縺薙ｌ繧峨�迺ｰ蠅��縲√☆縺ｹ縺ｦ讓ｪ蟷�′縺昴�譎らせ縺ｧ縺ｮ |\linewidth| 縺ｮ蛟､縺ｫ縺ｪ繧翫∪縺吶�
% 縺ｧ縲√�繝�け繧ｹ縺ｮ蟷�ｒ螟画峩縺励◆縺��ｴ蜷医� |minipage| 迺ｰ蠅�↑縺ｩ縺ｧ蝗ｲ繧薙〒縺上□縺輔＞縲�
% 邵ｦ縺ｮ髟ｷ縺輔�縲∬�蜍慕噪縺ｫ蜀�ｮｹ縺ｫ蜷医ｏ縺帙※隱ｿ謨ｴ縺輔ｌ縺ｾ縺吶� \medskip
%
% \DescribeEnv{boxnote}
% |boxnote| 迺ｰ蠅��縲∫�ｴ縺｣縺溘Γ繝｢逕ｨ邏吶�繧医≧縺ｪ髮ｰ蝗ｲ豌励�繝懊ャ繧ｯ繧ｹ繧剃ｽ懊ｊ縺ｾ縺吶�
% 遐ｴ縺｣縺溘ｈ縺�↑蠖｢縺ｮ鄂ｫ邱壹�縲∥scgrp繝輔か繝ｳ繝医ｒ菴ｿ縺｣縺ｦ螳溽樟縺輔ｌ縺ｦ縺�∪縺吶�
%
% \begin{boxnote}
% 繝懊ャ繧ｯ繧ｹ繝弱�繝育腸蠅�〒縺吶�
% \end{boxnote}
% 縺ｯ縲∽ｻ･荳九�蜈･蜉帙°繧牙ｾ励ｉ繧後∪縺吶�
%\begin{verbatim}
% \begin{boxnote}
% 繝懊ャ繧ｯ繧ｹ繝弱�繝育腸蠅�〒縺吶�
% \end{boxnote}
%\end{verbatim}
%
% \DescribeEnv{screen}
% |screen| 迺ｰ蠅��縲∝屁髫�′荳ｸ縺�峇縺ｿ譫�縺ｮ荳ｭ縺ｫ繝�く繧ｹ繝医ｒ蜈･繧後∪縺吶�
% 繧ｪ繝励す繝ｧ繝ｳ蠑墓焚縺ｨ縺励※ |0| 縺九ｉ |8| 縺ｮ謨ｴ謨ｰ蛟､繧呈欠螳壹☆繧後�縲∝屁髫��荳ｸ縺ｿ縺ｮ
% 蜈ｷ蜷医ｒ螟画峩縺吶ｋ縺薙→縺後〒縺阪∪縺吶よ紛謨ｰ蛟､繧貞､ｧ縺阪￥縺吶ｋ縺ｫ縺､繧後※荳ｸ縺ｿ縺ｯ蟆上＆縺�
% 縺ｪ縺｣縺ｦ縺�″縺ｾ縺吶ら怐逡･縺励◆蝣ｴ蜷医� |0| 縺ｨ縺ｿ縺ｪ縺輔ｌ縺ｾ縺吶�
%
% \begin{screen}
% 蝗幃嚆縺御ｸｸ縺�峇縺ｿ譫�縺ｧ縺吶�
% \end{screen}
% \begin{screen}[4]
% 蝗幃嚆縺御ｸｸ縺�峇縺ｿ譫�縺ｧ縺吶�
% \end{screen}
% 縺ｯ縲∽ｻ･荳九�蜈･蜉帙°繧牙ｾ励ｉ繧後∪縺吶�
%\begin{verbatim}
% \begin{screen}
% 蝗幃嚆縺御ｸｸ縺�峇縺ｿ譫�縺ｧ縺吶�
% \end{screen}
% \begin{screen}[4]
% 蝗幃嚆縺御ｸｸ縺�峇縺ｿ譫�縺ｧ縺吶�
% \end{screen}
%\end{verbatim}
%
% \DescribeEnv{itembox}
% |itembox| 迺ｰ蠅�� |screen| 迺ｰ蠅�↓莨ｼ縺ｦ縺�∪縺吶′縲∽ｸ顔ｫｯ縺ｮ鄂ｫ邱壹�縺ｨ縺薙ｍ縺ｫ繧ｿ繧､繝医Ν
% 繧貞�蜉帙☆繧九％縺ｨ縺後〒縺阪∪縺吶ゅ∪縺溘√が繝励す繝ｧ繝ｳ蠑墓焚 |l|, |c|, |r| 縺ｧ繧ｿ繧､繝医Ν
% 縺ｮ蜃ｺ蜉帑ｽ咲ｽｮ繧貞ｷｦ縲∽ｸｭ螟ｮ縲∝承縺ｨ謖�ｮ壹〒縺阪∪縺吶ら怐逡･縺励◆蝣ｴ蜷医�荳ｭ螟ｮ縺ｫ縺ｪ繧翫∪縺吶�
%
% \begin{itembox}[l]{繧ｿ繧､繝医Ν}
% 鬆�岼繝懊ャ繧ｯ繧ｹ縺ｧ縺吶�
% \end{itembox}
% 縺ｯ縲∽ｻ･荳九�蜈･蜉帙°繧牙ｾ励ｉ繧後∪縺吶�
%\begin{verbatim}
% \begin{itembox}[l]{繧ｿ繧､繝医Ν}
% 鬆�岼繝懊ャ繧ｯ繧ｹ縺ｧ縺吶�
% \end{itembox}
%\end{verbatim}
%
% \DescribeEnv{shadebox}
% |shadebox| 迺ｰ蠅��縲∝ｽｱ莉倥″繝懊ャ繧ｯ繧ｹ縺ｮ荳ｭ縺ｫ繝�く繧ｹ繝医ｒ蜈･繧後∪縺吶�
% 蠖ｱ縺ｮ蟷�� |\shaderule| 繝代Λ繝｡繝ｼ繧ｿ縺ｧ隕丞ｮ壹＆繧後√ョ繝輔か繝ｫ繝医�5pt縺ｧ縺吶�
%
% \begin{shadebox}
% 蠖ｱ莉倥″縺ｮ繝懊ャ繧ｯ繧ｹ縺ｧ縺吶�
% \end{shadebox}
% 縺ｯ縲∽ｻ･荳九�蜈･蜉帙°繧牙ｾ励ｉ繧後∪縺吶�
%\begin{verbatim}
% \begin{shadebox}
% 蠖ｱ莉倥″縺ｮ繝懊ャ繧ｯ繧ｹ縺ｧ縺吶�
% \end{shadebox}
%\end{verbatim}
%
% \subsection{邯ｲ謗帙￠蜻ｽ莉､}
%
% 邯ｲ謗帙￠繧偵☆繧句多莉､縺�3遞ｮ鬘樒畑諢上＆繧後※縺�∪縺吶�|\mask| 蜻ｽ莉､縺ｯ縲∝ｼ墓焚縺ｮ蜀�ｮｹ縺ｮ驛ｨ蛻�
% 縺ｫ邯ｲ繧呈寺縺代∪縺吶�|\maskbox| 蜻ｽ莉､縺ｨ |\Maskbox| 蜻ｽ莉､縺ｯ縲∝ｹ�→鬮倥＆繧呈欠螳壹＠縺ｦ
% 邯ｲ謗帙￠縺吶ｋ縺薙→縺後〒縺阪∪縺吶ゅ◎縺励※縲－\maskbox| 蜻ｽ莉､縺ｨ |\Maskbox| 蜻ｽ莉､縺ｮ驕輔＞
% 縺ｯ縲∝ｾ瑚��縺ｿ繝懊ャ繧ｯ繧ｹ縺ｮ蜻ｨ繧翫↓鄂ｫ邱壹ｒ蠑輔￥縺ｨ縺�≧轤ｹ縺ｧ縺吶�
%
% 縺薙ｌ繧峨�蜻ｽ莉､縺ｯ縲√＞縺壹ｌ繧Ｂscgrp繝輔か繝ｳ繝医↓蜿朱鹸縺輔ｌ縺ｦ縺�ｋ邯ｲ謗帙￠繝代ち繝ｼ繝ｳ縺ｮ
% 譁�ｭ励ｒ荳ｦ縺ｹ繧九％縺ｨ縺ｧ邯ｲ謗帙￠繧貞ｮ溽樟縺励※縺�∪縺吶�
%
% \makeatletter
% \begin{table}[htbp]
%   \centering
%   \begin{tabular}{llll}
%     A = {\@ascgrp A} &amp; B = {\@ascgrp B} &amp; C = {\@ascgrp C} &amp; D = {\@ascgrp D} \\
%     E = {\@ascgrp E} &amp; F = {\@ascgrp F} &amp; G = {\@ascgrp G} &amp; H = {\@ascgrp H} \\
%     I = {\@ascgrp I} &amp; J = {\@ascgrp J} &amp; K = {\@ascgrp K} &amp;
%   \end{tabular}
% \end{table}
% \makeatother
%
% \DescribeMacro{\mask}
% |\mask| 蜻ｽ莉､縺ｯ縲∫ｬｬ1蠑墓焚縺檎ｶｲ謗帙￠繧偵☆繧句�螳ｹ縺ｧ縲∫ｬｬ2蠑墓焚縺檎ｶｲ謗帙￠繝代ち繝ｼ繝ｳ繧�
% 遉ｺ縺呵ｨ伜捷��A縺九ｉK�峨〒縺吶�
%
% \begin{center}
% \mask{邯ｲ謗帙￠萓�1}{A} \hfil \mask{邯ｲ謗帙￠萓�2}{C}
% \end{center}
% 縺ｯ縲∽ｻ･荳九�蜈･蜉帙°繧牙ｾ励ｉ繧後∪縺吶�
%\begin{verbatim}
% \mask{邯ｲ謗帙￠萓�1}{A} \hfil \mask{邯ｲ謗帙￠萓�2}{C}
%\end{verbatim}
%
% \DescribeMacro{\maskbox}
% |\maskbox| 蜻ｽ莉､縺ｯ5縺､縺ｮ蠑墓焚繧呈戟縺｡縲√◎繧後◇繧後�繝�け繧ｹ縺ｮ蟷��ｫ倥＆縲�
% 邯ｲ謗帙￠繝代ち繝ｼ繝ｳ縲∝�蜉帑ｽ咲ｽｮ縲∫ｶｲ謗帙￠繧偵☆繧句�螳ｹ縺ｧ縺吶ょ�蜉帑ｽ咲ｽｮ縺ｯ |l|, |c|, |r| 縺ｮ
% 縺�★繧後°縺ｧ縲√◎繧後◇繧悟ｷｦ縲∽ｸｭ螟ｮ縲∝承縺ｫ蜃ｺ蜉帙＠縺ｾ縺吶�
%
% \begin{center}
% \maskbox{25em}{4em}{E}{c}{蟷�ｒ謖�ｮ壹＠縺溽ｶｲ謗帙￠繝懊ャ繧ｯ繧ｹ}
% \end{center}
% 縺ｯ縲∽ｻ･荳九�蜈･蜉帙°繧牙ｾ励ｉ繧後∪縺吶�
%\begin{verbatim}
% \maskbox{25em}{4em}{E}{c}{蟷�ｒ謖�ｮ壹＠縺溽ｶｲ謗帙￠繝懊ャ繧ｯ繧ｹ}
%\end{verbatim}
%
% \DescribeMacro{\Maskbox}
% |\Maskbox| 蜻ｽ莉､縺ｯ |\maskbox| 蜻ｽ莉､縺ｨ蜷梧ｧ倥�蠑墓焚繧呈戟縺｡縺ｾ縺吶′縲∫ｶｲ謗帙￠繧偵☆繧句�螳ｹ縺ｮ
% 謖�ｮ壹�蜑阪√☆縺ｪ繧上■5逡ｪ逶ｮ縺ｮ蠑墓焚縺ｨ縺励※縲√�繝�け繧ｹ繧貞峇繧鄂ｫ邱壹�螟ｪ縺輔ｂ謖�ｮ壹＠縺ｾ縺吶�
% 縺励◆縺後▲縺ｦ縲∝�驛ｨ縺ｧ6縺､縺ｮ蠑墓焚繧呈戟縺｡縺ｾ縺吶�
%
% \begin{center}
% \Maskbox{30em}{4em}{A}{c}{1pt}{蟷�ｒ謖�ｮ壹＠縺溽ｽｫ邱壻ｻ倥″邯ｲ謗帙￠繝懊ャ繧ｯ繧ｹ}
% \end{center}
% 縺ｯ縲∽ｻ･荳九�蜈･蜉帙°繧牙ｾ励ｉ繧後∪縺吶�
%\begin{verbatim}
% \Maskbox{30em}{4em}{A}{c}{1pt}{蟷�ｒ謖�ｮ壹＠縺溽ｽｫ邱壻ｻ倥″邯ｲ謗帙￠繝懊ャ繧ｯ繧ｹ}
%\end{verbatim}
%
% \subsection{縺昴�莉悶�蜻ｽ莉､}
%
% \DescribeMacro{\keytop}
% |\keytop| 繧ｳ繝槭Φ繝峨�縲√く繝ｼ繝懊�繝我ｸ翫�譁�ｭ励ｒ遉ｺ縺吶→縺阪↑縺ｩ縺ｫ萓ｿ蛻ｩ縺ｧ縺吶�
%
% \begin{table}[htbp]
%   \centering
%   \begin{tabular}{cc}
%     蜈･蜉�          &amp; 蜃ｺ蜉�        \\
%     |\keytop{A}|  &amp; \keytop{A}  \\
%     |\keytop{縺�}| &amp; \keytop{縺�}
%   \end{tabular}
% \end{table}
%
% \DescribeMacro{\yen}
% \DescribeMacro{\return}
% \DescribeMacro{\Return}
% 蜀�ｨ伜捷繧貞�蜉帙☆繧� |\yen| 蜻ｽ莉､縺ｯ縲〆縺ｨ=繧帝㍾縺ｭ蜷医ｏ縺帙※蜃ｺ蜉帙＠縺ｦ縺�∪縺吶�
% 謾ｹ陦瑚ｨ伜捷縺ｯ |\return| 縺ｨ |\Return| 縺ｧ縺吶よ隼陦瑚ｨ伜捷縺ｯascgrp繝輔か繝ｳ繝�
% 繧堤畑縺�※縺�∪縺吶�
%
% \begin{table}[htbp]
%   \centering
%   \begin{tabular}{cc}
%     蜈･蜉�          &amp; 蜃ｺ蜉�        \\
%     |\yen|        &amp; \yen        \\
%     |\return|     &amp; \return     \\
%     |\Return|     &amp; \Return
%   \end{tabular}
% \end{table}
%
% \DescribeMacro{\ascii}
% \DescribeMacro{\Ascii}
% \DescribeMacro{\ASCII}
% 繧｢繧ｹ繧ｭ繝ｼ繧ｳ繝ｼ繝昴Ξ繝ｼ繧ｷ繝ｧ繝ｳ縺ｮ繝ｭ繧ｴ繧貞�蜉帙☆繧句多莉､縺ｧ縺吶�
% 繧ｵ繧､繧ｺ縺ｯ3遞ｮ鬘樒畑諢上＆繧後※縺�∪縺吶�
%
% \ascii \hfil \Ascii \hfil \ASCII
%
%
% \StopEventually{}
%
% \section{繧ｳ繝ｼ繝厭
%
% \textsf{ascmac}繝代ャ繧ｱ繝ｼ繧ｸ縺ｯ\textsf{tascmac}繝代ャ繧ｱ繝ｼ繧ｸ縺ｮ繝ｩ繝�ヱ繝ｼ縺ｧ縺吶�
%    \begin{macrocode}
%&lt;*ascmac&gt;
\RequirePackage{tascmac}
%&lt;/ascmac&gt;
%    \end{macrocode}
%
% 蠕捺擂縲―textsf{tascmac}繝代ャ繧ｱ繝ｼ繧ｸ縺ｮ蜍穂ｽ懈擅莉ｶ縺ｯ縲｝\LaTeXe{}縺ｧ縺励◆縲�
% 縺励°縺励…ommunity edition縺ｧ縺ｯ縲√ヰ繝ｼ繧ｸ繝ｧ繝ｳv2.0c莉･髯阪〒縺ｻ縺九�繧ｨ繝ｳ繧ｸ繝ｳ繧�
% 繧ｵ繝昴�繝医☆繧九％縺ｨ縺ｫ縺励∪縺励◆縲�
%    \begin{macrocode}
%&lt;*tascmac&gt;
%%
%% 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
%    \end{macrocode}
%
% (u)p\LaTeXe{}縺ｨLua\TeX-ja莉･螟悶ｒ繧ｵ繝昴�繝医☆繧九◆繧√�繝医Μ繝�け縺ｧ縺吶�
% 縲群縲阪→縺�≧譁�ｭ励�繧ｫ繝�ざ繝ｪ繝ｼ繧ｳ繝ｼ繝峨ｒ縺薙�繝代ャ繧ｱ繝ｼ繧ｸ繧定ｪｭ繧薙〒縺�ｋ髢薙□縺�
% 螟画峩縺励�(u)p\LaTeXe{}縺ｾ縺溘�Lua\TeX-ja縺ｧ縺ｯ辟｡隕悶☆繧区枚蟄励↓縲√◎繧御ｻ･螟悶〒縺ｯ
% 繧ｳ繝｡繝ｳ繝域枚蟄暦ｼ�|%|縺ｨ蜷後§�峨↓縺励∪縺吶�
% \changes{2016/08/21}{v2.0c}{pdf\LaTeX{}縺ｪ縺ｩ繧偵し繝昴�繝�}
%    \begin{macrocode}
\chardef\ascmac@q@catcode=\catcode`\Q\relax
\ifascmac@ptex
  \catcode`\Q=9\relax
\else
  \catcode`\Q=14\relax
\fi
%    \end{macrocode}
%
% 莉･蜑阪�迚医〒縺ｯascgrp縺ｮType1繝輔か繝ｳ繝医ｒ險ｭ螳壹☆繧九◆繧√↓
% pdf\LaTeX{}繧Лua\LaTeX{}縺ｮ繝励Μ繝溘ユ繧｣繝悶ｒ菴ｿ逕ｨ縺励※縺�∪縺励◆縺後�
% v2.1縺ｧ縺ｯ繝槭ャ繝励ヵ繧｡繧､繝ｫ(ascmac.map)繧堤畑諢上＠縺ｾ縺励◆縲�
% 縺薙�map繝輔ぃ繧､繝ｫ繧箪verb+$TEXMF/fonts/map/dvips/ascmac/+縺ｫ繧､繝ｳ繧ｹ繝医�繝ｫ縺励※
%\begin{verbatim}
%   updmap-sys --enable MixedMap=ascmac.map
%\end{verbatim}
% 繧貞ｮ溯｡後☆繧後�譛牙柑縺ｫ縺ｪ繧翫∪縺吶�
% \changes{2016/08/21}{v2.0c}{pdf\LaTeX{}縺ｧascgrp縺ｮType1繝輔か繝ｳ繝医ｒ菴ｿ逕ｨ}
% \changes{2017/12/06}{v2.0e}{蠢ｵ縺ｮ縺溘ａe-諡｡蠑ｵ縺ｪ縺励�繧ｨ繝ｳ繧ｸ繝ｳ縺ｧ縺ｮ繧ｨ繝ｩ繝ｼ繧帝亟豁｢}
% \changes{2017/12/17}{v2.0f}{蛻､螳壹′騾�↓縺ｪ縺｣縺ｦ縺�◆縺ｮ繧剃ｿｮ豁｣}
% \changes{2020/01/13}{v2.0i}{\LaTeX{}縺ｮDVI繝｢繝ｼ繝峨ｒ繧ｵ繝昴�繝�}
% \changes{2020/01/14}{v2.0j}{v2.0i縺ｮ螟画峩縺ｧXeLaTeX縺ｧ繧ｨ繝ｩ繝ｼ縺悟�縺溘�繧剃ｿｮ豁｣}
% \changes{2020/01/15}{v2.1}{dvips繧ゅし繝昴�繝医☆繧九◆繧√∝､夜Κ繝槭ャ繝励ヵ繧｡繧､繝ｫ縺ｫ蛻�屬}
%    \begin{macrocode}
%%
%% Use Type1 font for ascgrp: moved to an external map file
%\ifx\pdfextension\@undefined
%  \ifx\pdfmapline\@undefined\else
%    % pdfTeX, LuaTeX (&lt;=0.81)
%    % [memo] XeTeX does not have \pdfmapline, but xelatex.ini defines it.
%    % Here we ignore it by checking the existence of \pdfoutput,
%    % as [x]dvipdfmx can add the similar effect implicitly.
%    \ifx\pdfoutput\@undefined\else\ifnum\pdfoutput&gt;\z@\relax
%      \pdfmapline{+ascgrp &lt;ascgrp.pfb}
%      \pdfmapline{+ascii10 &lt;ascii10.pfb}
%      \pdfmapline{+ascii36 &lt;ascii36.pfb}
%    \fi\fi
%  \fi
%\else
%  % LuaTeX (&gt;=0.85)
%  \ifnum\outputmode&gt;\z@\relax
%    \pdfextension mapline{+ascgrp &lt;ascgrp.pfb}
%    \pdfextension mapline{+ascii10 &lt;ascii10.pfb}
%    \pdfextension mapline{+ascii36 &lt;ascii36.pfb}
%  \fi
%\fi
%    \end{macrocode}
%
% \begin{macro}{\@savetbaselineshift}
% \begin{macro}{\@saveybaselineshift}
% |\tbaselineshift| 縺ｨ |\ybaselineshift| 繧剃ｸ譎る驕ｿ縺吶ｋ縺溘ａ縺ｮ貅門ｙ縺ｧ縺吶�
% \changes{2016/08/21}{v2.0c}{螳夂ｾｩ貂医∩縺ｮ蝣ｴ蜷医�縺ゅ∴縺ｦ螳夂ｾｩ縺励↑縺�ｈ縺�↓縺励◆}
%    \begin{macrocode}
%%
%% ascmac.sty 10/28 '88
%% ASCII special macros
Q \ifx\@savetbaselineshift\@undefined \newdimen\@savetbaselineshift \fi
Q \ifx\@saveybaselineshift\@undefined \newdimen\@saveybaselineshift \fi
%%
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\@@ASCII}
% \begin{macro}{\ascii}
% \begin{macro}{\Ascii}
% \begin{macro}{\ASCII}
% 繧｢繧ｹ繧ｭ繝ｼ繧ｳ繝ｼ繝昴Ξ繝ｼ繧ｷ繝ｧ繝ｳ縺ｮ繝ｭ繧ｴ縺ｧ縺吶�
%    \begin{macrocode}
%% 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}}
%%
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% |boxnote| 迺ｰ蠅�↑縺ｩ縺ｧ菴ｿ縺�多莉､縺ｮ貅門ｙ縺ｧ縺吶�
%    \begin{macrocode}
%% boxnote environment
\font\@ascgrp=ascgrp
\newbox\scb@x \newbox\scscb@x
\newdimen\@bw\newbox\@nbox\newbox\@nbody
%    \end{macrocode}
%
% \begin{environment}{boxnote}
% |boxnote| 迺ｰ蠅�ｒ螳夂ｾｩ縺励∪縺吶�
%    \begin{macrocode}
\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&lt;\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
}%
%    \end{macrocode}
%
%    \begin{macrocode}
\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}}
%%
%    \end{macrocode}
% \end{environment}
%
% |screen| 迺ｰ蠅�↑縺ｩ縺ｧ菴ｿ縺�多莉､縺ｮ貅門ｙ縺ｧ縺吶�
% 繧ｳ繝溘Η繝九ユ繧｣迚医〒縺ｯ縲∫ｸｦ邨�〒pict2e繝代ャ繧ｱ繝ｼ繧ｸ縺ｨ蜈ｱ蟄倥＠縺ｦ繧ょ｣翫ｌ縺ｪ縺�ｈ縺�↓縲�
% |\oval| 繧貞ｸｸ縺ｫ讓ｪ邨��繝�け繧ｹ縺ｮ荳ｭ縺ｧ蜻ｼ縺ｳ蜃ｺ縺吶ｈ縺�↓縺励∪縺励◆縲�
% 縺薙�縺ｨ縺阪↓ |\oval| 縺ｮ蠑墓焚繧呈ｭ｣縺励￥貂｡縺吝�逅�ｂ霑ｽ蜉�縺励※縺�∪縺吶�
% \changes{2017/12/22}{v2.0g}{邵ｦ邨�〒pict2e縺ｨ蜈ｱ蟄倥＠縺ｦ繧ょ｣翫ｌ縺ｪ縺�ｈ縺�↓縲�
%    \cs{oval}繧貞ｸｸ縺ｫ讓ｪ邨��繝�け繧ｹ縺ｮ荳ｭ縺ｧ蜻ｼ縺ｳ蜃ｺ縺吶ｈ縺�↓縺励◆}
%    \begin{macrocode}
%% 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 &lt;-&gt; \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@}}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@vrf@#1#2{\vskip#1\leaders\vrule width#2\vfil\vskip#1}
%    \end{macrocode}
%
% \begin{environment}{screen}
% |screen| 迺ｰ蠅�ｒ螳夂ｾｩ縺励∪縺吶�
%    \begin{macrocode}
\def\screen{%
Q \@saveybaselineshift\ybaselineshift \ybaselineshift\z@
Q \@savetbaselineshift\tbaselineshift \tbaselineshift\z@
  \@ifnextchar[{\@screen}{\@screen[0]}}
%    \end{macrocode}
%
%    \begin{macrocode}
\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
}%
%    \end{macrocode}
%
%    \begin{macrocode}
\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}}%
%%
%    \end{macrocode}
% \end{environment}
%
% |itembox| 迺ｰ蠅�↑縺ｩ縺ｧ菴ｿ縺�多莉､縺ｮ貅門ｙ縺ｧ縺吶�
%    \begin{macrocode}
%% itembox environment
%%   replace \box0 with \@iboxstr; thanks FTEXers (1998/11/27)
\newdimen\@itemh\newtoks\@iboxpos\newbox\@iboxstr
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@hleader{\leaders\hrule height .8pt\hfil}
%    \end{macrocode}
%
% \begin{environment}{itembox}
% |itembox| 迺ｰ蠅�ｒ螳夂ｾｩ縺励∪縺吶�
%    \begin{macrocode}
\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}}%
%    \end{macrocode}
%
%    \begin{macrocode}
\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}
%%
%    \end{macrocode}
% \end{environment}
%
% \begin{macro}{\keytop}
% \begin{macro}{\@keytop}
% |\keytop| 蜻ｽ莉､縺ｧ縺吶�
%    \begin{macrocode}
%% \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}}
%%
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
%
% \begin{macro}{\yen}
% \changes{1996/03/13}{v1.1}{Append \cs{leavevmode} in
%     \cs{yen}, \cs{return}, \cs{Return} command.}
% 蜀�ｨ伜捷縺ｧ縺吶�
%    \begin{macrocode}
%% \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}}}
%    \end{macrocode}
%%
% \end{macro}
%
% \begin{macro}{\return}
% \begin{macro}{\Return}
% 謾ｹ陦瑚ｨ伜捷縺ｧ縺吶�|\return|繧л\Return|縺ｨ縺�≧蜷咲ｧｰ縺ｯ縺ゅｊ縺ｵ繧後※縺�ｋ縺ｮ縺ｧ縲�
% ascmac繝代ャ繧ｱ繝ｼ繧ｸ縺ｮ螳夂ｾｩ縺悟挨縺ｮ繝代ャ繧ｱ繝ｼ繧ｸ縺ｨ陦晉ｪ√☆繧句�ｴ蜷医′縺ゅｊ縺ｾ縺�
% �井ｾ具ｼ啾lgorithm2e繝代ャ繧ｱ繝ｼ繧ｸ�峨�
% 縺昴％縺ｧ縲－\Return|縺ｨ縺�≧蜻ｽ莉､縺梧里縺ｫ螳夂ｾｩ縺輔ｌ縺ｦ縺�※縲√°縺､ascgrp繝輔か繝ｳ繝医′
% 荳堺ｽｿ逕ｨ縺ｨ蛻､譁ｭ縺輔ｌ繧句�ｴ蜷医�繧ｨ繝ｩ繝ｼ繧貞�縺励∪縺吶よ悽譚･縺ｪ繧峨�|\return|繧ょ酔讒倥↓
% 繝√ぉ繝�け縺励◆縺��縺ｧ縺吶′縲√経kumacro繝代ャ繧ｱ繝ｼ繧ｸ縺ｮ蠕後↓ascmac繝代ャ繧ｱ繝ｼ繧ｸ繧�
% 隱ｭ縺ｿ霎ｼ繧縺ｨ縲√お繝ｩ繝ｼ縺ｪ縺励↓ascmac繝代ャ繧ｱ繝ｼ繧ｸ縺ｮ螳夂ｾｩ縺悟享縺､縲阪→縺�≧蠕捺擂縺ｮ謖吝虚
% 繧堤ｶｭ謖√☆繧九◆繧√∫樟譎らせ縺ｧ縺ｯ繝√ぉ繝�け縺励∪縺帙ｓ縲�
%    \begin{macrocode}
%% 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}% conflict with okumacro, no check
\ascmac@check{\Return}
\endgroup
%    \end{macrocode}
%
% 謾ｹ陦瑚ｨ伜捷縺ｮ螳夂ｾｩ縺ｮ譛ｬ菴薙〒縺吶�
%    \begin{macrocode}
\def\return{\leavevmode\hbox{%
Q \iftdir\yoko\fi
  \@ascgrp\char"20}}
\def\Return{\leavevmode\hbox{%
Q \iftdir\yoko\fi
  \@ascgrp @}}
%%
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% |\mask| 蜻ｽ莉､縺ｮ貅門ｙ縺ｧ縺吶�
%    \begin{macrocode}
%% \mask
\newbox\@bwsp \newbox\@@bwsp\newcount\@bcal
%    \end{macrocode}
%
%    \begin{macrocode}
\def\setdim@#1#2{\@bcal=#2\divide#1\@bcal\multiply#1\@bcal\advance#1 1.001#2}
%    \end{macrocode}
%
% \begin{macro}{\mask}
% |\mask| 蜻ｽ莉､繧貞ｮ夂ｾｩ縺励∪縺吶�
%    \begin{macrocode}
\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}}}
%%
%    \end{macrocode}
% \end{macro}
%
% |\maskbox| 蜻ｽ莉､縺ｮ貅門ｙ縺ｧ縺吶�
%    \begin{macrocode}
%% \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}
%    \end{macrocode}
%
% \begin{macro}{\Maskbox}
% \begin{macro}{\maskbox}
% |\maskbox| 蜻ｽ莉､縺ｨ |\Maskbox| 蜻ｽ莉､繧貞ｮ夂ｾｩ縺励∪縺吶�
%    \begin{macrocode}
\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}}
%%
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% |shadebox| 迺ｰ蠅�〒菴ｿ縺�多莉､縺ｮ貅門ｙ縺ｧ縺吶�
%    \begin{macrocode}
%% shadebox environment
\newdimen\shaderule\shaderule 5pt
%    \end{macrocode}
%
% \begin{environment}{shadebox}
% |shadebox| 迺ｰ蠅�ｒ螳夂ｾｩ縺励∪縺吶�
%    \begin{macrocode}
\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
}
%    \end{macrocode}
%
%    \begin{macrocode}
\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}}
%%
%    \end{macrocode}
% \end{environment}
%
% 繝医Μ繝�け縺ｫ菴ｿ逕ｨ縺励◆縲群縲阪→縺�≧譁�ｭ励�繧ｫ繝�ざ繝ｪ繝ｼ繧ｳ繝ｼ繝峨ｒ蜈�↓謌ｻ縺励∪縺吶�
% \changes{2016/08/21}{v2.0c}{pdf\LaTeX{}縺ｪ縺ｩ繧偵し繝昴�繝�}
%    \begin{macrocode}
\catcode`\Q=\ascmac@q@catcode\relax
%%
%&lt;/tascmac&gt;
%    \end{macrocode}
%
% \Finale
%
\endinput
</pre></body></html>