OSDN Git Service

added patch for [t]ascmac.sty
[luatex-ja/luatexja.git] / src / patches / lltjp-tascmac.sty
1 %
2 % lltjp-tascmac.sty
3 % \tbaselineshift=\z@ ==> \ltj@tablshift=\z@
4 % \dimen...=\tbaselineshift ==> \dimen...=\ltj@tablshift sp
5
6 \NeedsTeXFormat{LaTeX2e}
7 \ProvidesPackage{lltjp-tascmac}[2014/12/17 Patch to (t)ascmac for LuaTeX-ja]
8
9 \RequirePackage{tascmac,luatexja}
10
11 %% boxnote environment
12 \def\boxnote{\par\vspace{\baselineskip}
13 \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
14 \setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b}
15 \@whiledim \wd\@nbox<\hsize \do{
16 \setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}}
17 \setbox\@nbox=\hbox to\hsize{\@ascgrp\unhbox\@nbox \hss a\hss b%
18 \vrule width1.08pt depth35pt}
19 \@bw=\wd\@nbox\advance\@bw -40pt
20 \begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27)
21   \ltj@tablshift\@savetbaselineshift}%
22
23 %% screen environment
24 \def\screen{%
25 \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
26 \@ifnextchar[{\@screen}{\@screen[0]}}
27 \def\@screen[#1]{\ifcase#1\def\@r{20}\def\@s{9.8pt}\def\@sx{10pt}\or
28 \def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or
29 \def\@r{16}\def\@s{7.8pt}\def\@sx{8pt}\or
30 \def\@r{14}\def\@s{6.8pt}\def\@sx{7pt}\or
31 \def\@r{12}\def\@s{5.8pt}\def\@sx{6pt}\or
32 \def\@r{10}\def\@s{4.8pt}\def\@sx{5pt}\or
33 \def\@r{8}\def\@s{3.8pt}\def\@sx{4pt}\or
34 \def\@r{6}\def\@s{2.8pt}\def\@sx{3pt}\else
35 \def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi
36 \par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt
37 \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27)
38   \ltj@tablshift\@savetbaselineshift}%
39
40 %% itembox environment
41 \def\@itembox[#1]#2{%
42   \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
43   \par\vspace{.3\baselineskip}%
44   \setbox\@iboxstr=\hbox{#2}\@itemh\ht\@iboxstr\advance\@itemh\dp\@iboxstr
45   \vspace{.5\@itemh}\bgroup\@scw\linewidth
46   \advance\@scw-20pt\@iboxpos={#1}%
47   \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}%
48   \ltj@tablshift\@savetbaselineshift
49   \vspace*{.5\@itemh}}%
50
51 %% \keytop
52 \def\@keytop[#1]#2{\ltj@tablshift\z@
53 {\setbox0=\hbox{\shortstack{#2}}%
54 \dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt%
55 \setbox\scscb@x=\hbox to\dimen0{%
56 \iftdir\tate\else\yoko\fi
57 \@scw\wd0\hfil\vtop{\offinterlineskip
58 \thinlines\setlength{\unitlength}{1pt}\hrule\kern2.3pt\@hobox{tl}{tr}5%
59 \kern-2.4pt\box0\@hobox{bl}{br}5\kern-.25pt\hrule}\hfil}\dimen0=\dp\scscb@x%
60 \setbox0=\vbox{\hbox{\hbox to0pt{\hss\vtop to\dimen0{\@vrf@{2.5pt}{.4pt}}}%
61 \box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.5pt}{.4pt}}}}}%
62 \if #1c $\vcenter{\box0}$ \else \if #1t\else\if #1b\boxmaxdepth=0pt\else
63 \boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}}
64
65 %% \mask
66 \def\mask#1#2{\ltj@tablshift\z@
67 {\setbox\@bwsp=\hbox{#1}\setbox0=\hbox{\@ascgrp#2}%
68 \dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1
69 \setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}%
70 \setbox\@@bwsp=\hbox to\dimen0{\leaders
71 \vtop to\dimen1{\leaders\hbox{\@ascgrp#2}\vfil}\hfil}%
72 \advance\dimen2\dp\@@bwsp\divide\dimen2 2
73 \advance\dimen2\dp\@bwsp\boxmaxdepth=\dimen2
74 \setbox\@@bwsp=\vbox{\box\@@bwsp}%
75 \mbox{}\hbox to\wd\@@bwsp{\hbox to0pt{\box\@@bwsp\hss}\hss\unhbox\@bwsp\hss}}}
76
77 %% \maskbox
78 \def\Maskbox#1#2#3#4#5#6{{\ltj@tablshift\z@
79 \setbox0=\hbox{\@ascgrp#3}%
80 \dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}%
81 \ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi
82 \ifx#4r\skip0=0pt plus1fil\skip1=0pt\fi
83 \ifx#4l\skip1=0pt plus1fil\skip0=0pt\fi
84 \hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders
85 \hbox{\@ascgrp#3}\vfil}\hfil}\hss}%
86 \vrule width#5\vbox to\dimen1{\hrule height#5\vfil
87 \dimen3=#5\advance\dimen0-2\dimen3\advance\dimen0 .15pt
88 \hbox to\dimen0{\hskip\skip0\relax#6\hskip\skip1}%
89 \vfil\hrule height#5}\vrule width#5}}}
90
91
92 \endinput