summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def')
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def109
1 files changed, 80 insertions, 29 deletions
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
index 3f9d1282d58..ad1a5222703 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-standard.def}
- [2017/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
%% このファイルは日本語文字を含みます
\input{bxjsja-minimal.def}
\bxjs@simplejasetupfalse
@@ -235,6 +235,26 @@
}%
}%
}
+\@onlypreamble\jsCheckHyperrefUnicode
+\let\jsCheckHyperrefUnicode\@empty
+\AtBeginDocument{\jsCheckHyperrefUnicode}
+\@onlypreamble\bxjs@check@hyperref@unicode
+\def\bxjs@check@hyperref@unicode#1{%
+ \g@addto@macro\jsCheckHyperrefUnicode{%
+ \@tempswafalse
+ \begingroup
+ \expandafter\ifx\csname ifHy@unicode\endcsname\relax
+ \aftergroup\@tempswatrue \fi
+ \expandafter\ifx\csname ifHy@unicode\expandafter\endcsname
+ \csname if#1\endcsname
+ \aftergroup\@tempswatrue \fi
+ \endgroup
+ \if@tempswa\else
+ \ClassError\bxjs@clsname
+ {The value of hyperref 'unicode' key is not suitable\MessageBreak
+ for the present engine (must be #1)}%
+ {\@ehc}%
+ \fi}}
\@onlypreamble\bxjs@urgent@special
\def\bxjs@urgent@special#1{%
\AtBeginDvi{\special{#1}}%
@@ -281,14 +301,8 @@
\bxUInt{\@tempcnta}%
\fi}
\fi
-\ifbxjs@xkanjiskip@cmd
- \def\bxjs@put@xkanjiskip{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\xkanjiskip
- \fi}
- \ifjsWitheTeX \protected\def\>{\bxjs@put@xkanjiskip}
- \else \def\>{\protect\bxjs@put@xkanjiskip}
- \fi
+\ifbxjs@jaspace@cmd
+ \def\jathinspace{\hskip\xkanjiskip}
\fi
\ifbxjs@jp@jismmiv
\PassOptionsToPackage{prefer2004jis}{pxchfon}
@@ -335,7 +349,7 @@
\endgroup}
\@gtempa
\ifbxjs@hyperref@enc
- \bxjs@fix@hyperref@unicode{false}
+ \bxjs@check@hyperref@unicode{false}
\fi
\if \ifx\bxjs@driver@given\bxjs@driver@@dvipdfmx T%
\else\ifjsWithpTeXng T\else F\fi\fi T%
@@ -372,7 +386,10 @@
\else\if p\jsEngine
\bxjs@adjust@jafont{f}
\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
-\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole,autotilde}}
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole}}
+\def\bxjs@tmpb{pandoc}\ifx\bxjs@tmpb\bxjs@jadriver\else
+ \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{autotilde}}
+\fi
\edef\bxjs@next{%
\noexpand\RequirePackage[\bxjs@tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
}\bxjs@next
@@ -422,9 +439,8 @@
\let\CJKecglue\bxjs@CJKecglue}
\def\bxjs@jachar#1{%
\CJKforced{#1}}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{\CJKecglue}
\fi
\ifx t\bxjs@enablejfam
\ClassWarningNoLine\bxjs@clsname
@@ -455,7 +471,15 @@
\PassOptionsToPackage{unicode}{hyperref}
\fi
\fi
-\let\jsInhibitGlueAtParTop\@empty
+\AtEndOfPackage{%
+\def\@gnewline #1{%
+ \ifvmode \@nolnerr
+ \else
+ \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
+ \nobreak \hskip-1sp\hskip1sp\relax
+ \ignorespaces
+ \fi}
+}
\newskip\jsKanjiSkip
\newskip\jsXKanjiSkip
\ifx\CJKecglue\@undefined
@@ -480,9 +504,8 @@
\def\bxjs@jachar#1{%
\xeCJKDeclareCharClass{CJK}{`#1}\relax
#1}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{\CJKecglue}
\fi
\ifx t\bxjs@enablejfam
\@enablejfamtrue
@@ -530,13 +553,33 @@
\ltjsetparameter{jaxspmode={`〒,2}}
\ltjsetparameter{alxspmode={`+,3}}
\ltjsetparameter{alxspmode={`\%,3}}
-\protected\def\@inhibitglue{%
- \directlua{%
- luatexja.jfmglue.create_beginpar_node()}}
-\let\bxjs@ltj@inhibitglue\@inhibitglue
-\let\@@inhibitglue\@undefined
+\ifx\ltjfakeparbegin\@undefined
+ \protected\def\ltjfakeparbegin{%
+ \ifhmode
+ \relax\directlua{%
+ luatexja.jfmglue.create_beginpar_node()}}
+ \fi}
+\fi
+\unless\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none
+\begingroup
+ \let\%\@percentchar \def\@#1{[[\detokenize{#1}]]}
+ \@gobble\if\def\bxjs@tmpa{\@{\everypar{}\fi}}
+ \ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+ \@gobble\if\def\bxjs@tmpa{\@{\everypar{\everyparhook}\fi}}\fi
+ \directlua{
+ local function patchcmd(cs, code, from, to)
+ tex.sprint(code:gsub(from:gsub("\%W", "\%\%\%0"), "\%0"..to)
+ :gsub("macro:", \@\gdef..cs, 1):gsub("->", "{", 1).."}")
+ end
+ patchcmd(\@\@xsect, [[\meaning\@xsect]],
+ \@{\hskip-\@tempskipa}, \@\ltjfakeparbegin)
+ patchcmd(\@\@item, [[\meaning\@item]],
+ \bxjs@tmpa, \@\ltjfakeparbegin)}
+\endgroup
+\fi
\ifbxjs@hyperref@enc
- \bxjs@fix@hyperref@unicode{true}
+ \PassOptionsToPackage{unicode}{hyperref}
+ \bxjs@check@hyperref@unicode{true}
\fi
\protected\def\autospacing{%
\ltjsetparameter{autospacing=true}}
@@ -552,11 +595,9 @@
\ltjsetparameter{xkanjiskip={\@tempskipa}}}
\def\bxjs@jachar#1{%
\ltjjachar`#1\relax}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\ltjgetparameter{xkanjiskip}\ignorespaces
- \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{%
+ \hskip\ltjgetparameter{xkanjiskip}\relax}
\fi
\ifx f\bxjs@enablejfam
\ClassWarningNoLine\bxjs@clsname
@@ -572,6 +613,16 @@
\DeclareJaMathFontCommand{\mathmc}{\mcfamily}
\DeclareJaMathFontCommand{\mathgt}{\gtfamily}
\fi
+\ifbxjs@jaspace@cmd
+ \bxjs@protected\def\bxjs@choice@jathinspace{%
+ \relax\ifmmode \mskip\medmuskip
+ \else \jathinspace\ignorespaces
+ \fi}
+ \jsAtEndOfClass{%
+ \ifjsWitheTeX \let\>\bxjs@choice@jathinspace
+ \else \def\>{\protect\bxjs@choice@jathinspace}%
+ \fi}
+\fi
\setkanjiskip{0pt plus.1\jsZw minus.01\jsZw}
\ifx\jsDocClass\jsSlide \setxkanjiskip{0.1em}
\else \setxkanjiskip{0.25em plus 0.15em minus 0.06em}