-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplexpl3.dtx
126 lines (126 loc) · 4.07 KB
/
plexpl3.dtx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
% \iffalse meta-comment
%% File: plexpl3.dtx
%
% Copyright (c) 2020-2022 Japanese TeX Development Community
%
% This file is part of the pLaTeX2e system (community edition).
% -------------------------------------------------------------
%
% \fi
%
%
% \iffalse
% \changes{v1.0}{2020/09/28}{初版:p\TeX{}の条件文を定義}
% \fi
%
% \iffalse
%<*driver>
\NeedsTeXFormat{pLaTeX2e}
\ProvidesFile{plexpl3.dtx}[2020/09/28 v1.0 expl3 additions]
\RequirePackage{plautopatch}
\documentclass[dvipdfmx,a4paper]{jltxdoc}
\GetFileInfo{plexpl3.dtx}
\author{Japanese \TeX\ Development Community}
\title{The \textsf{plexpl3} package}
\date{作成日:\filedate}
\begin{document}
\newcommand\Lpack[1]{\textsf{#1}}
\maketitle
\DocInput{\filename}
\end{document}
%</driver>
% \fi
%
% \LaTeX3 (expl3)で用意されていない「p\TeX{}系列の独自機能」を
% expl3の文法で使えるようにするコードです。
% p\LaTeXe~2020-10-01で新設しました。
%
% \setcounter{StandardModuleDepth}{1}
% \StopEventually{}
%
% \section{コード}
%
% パッケージとして宣言します。
% これで、p\LaTeXe~2020-04-12以前でも
% \file{plexpl3.sty}と\file{plexpl3.ltx}だけ
% 入手すれば同等の機能が使えます。
% \begin{macrocode}
%<*package>
\NeedsTeXFormat{pLaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{plexpl3}{2020-09-28}{1.0}
{pTeX/upTeX-specific additions to expl3}
%</package>
% \end{macrocode}
%
% \LaTeXe~2020-02-02以降では\file{expl3}が標準で
% フォーマットに読み込まれています。この場合は
% \file{plexpl3}の機能をフォーマットに取り込みます。
% \begin{macrocode}
%<plcore>\ifdefined\ExplSyntaxOn %--- expl3 available BEGIN
%<plcore>\ExplSyntaxOn
%<*plcore|package>
\input plexpl3.ltx
%</plcore|package>
%<plcore>\ExplSyntaxOff
%<plcore>\fi %--- expl3 available END
% \end{macrocode}
%
% \file{platexrelease}のroll-forwardにも登録します。
% \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2020/10/01}%
%<platexrelease> {plexpl3}{Pre-load plexpl3}%
%<platexrelease>\RequirePackage{plexpl3}
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}%
%<platexrelease> {plexpl3}{Not loading plexpl3}%
%<platexrelease>% Nothing to do
%<platexrelease>\plEndIncludeInRelease
% \end{macrocode}
%
% 以下のコードは\file{plexpl3.ltx}に書き出します。
% フォーマットとパッケージからの重複読み込みは禁止します。
% \begin{macrocode}
%<*code>
\cs_if_exist:NT \__platex_expl_loaded:
{
\GenericInfo{}
{Skipping:~ plexpl3~ code~ already~ part~ of~ the~ format}%
\endinput
}
\cs_new:Npn \__platex_expl_loaded: { }
% \end{macrocode}
%
% \section{p\TeX{}系列の条件文}
%
% p\TeX{}系列の条件文をexpl3の文法にします。
% \changes{v1.0}{2020/09/28}{初版:p\TeX{}の条件文を定義}
% \begin{macrocode}
%% additions to l3box.dtx: writing directions (pTeX/upTeX-specific)
\cs_set_eq:NN \platex_direction_yoko: \tex_yoko:D
\cs_set_eq:NN \platex_direction_tate: \tex_tate:D
\cs_set_eq:NN \platex_direction_dtou: \tex_dtou:D
%
\prg_new_conditional:Npnn \platex_if_direction_yoko: { p, T, F, TF }
{ \tex_ifydir:D \prg_return_true: \else: \prg_return_false: \fi: }
\prg_new_conditional:Npnn \platex_if_direction_tate: { p, T, F, TF }
{ \tex_iftdir:D \prg_return_true: \else: \prg_return_false: \fi: }
\prg_new_conditional:Npnn \platex_if_direction_dtou: { p, T, F, TF }
{ \tex_ifddir:D \prg_return_true: \else: \prg_return_false: \fi: }
%
\prg_new_conditional:Npnn \platex_if_box_yoko:N #1 { p, T, F, TF }
{ \tex_ifybox:D #1 \prg_return_true: \else: \prg_return_false: \fi: }
\prg_new_conditional:Npnn \platex_if_box_tate:N #1 { p, T, F, TF }
{ \tex_iftbox:D #1 \prg_return_true: \else: \prg_return_false: \fi: }
\prg_new_conditional:Npnn \platex_if_box_dtou:N #1 { p, T, F, TF }
{ \tex_ifdbox:D #1 \prg_return_true: \else: \prg_return_false: \fi: }
% \end{macrocode}
%
% 以上です。
% \begin{macrocode}
%</code>
% \end{macrocode}
%
% \Finale
%
\endinput