-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplatex.cfg
69 lines (69 loc) · 2.93 KB
/
platex.cfg
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
%%% candidate 3 (rewrite in plexpl3): mostly compatible
\ExplSyntaxOn
%% File: plexpl3.dtx
\cs_if_exist:NT \__platex_expl_loaded:
{
\GenericInfo{}
{Skipping:~ plexpl3~ code~ already~ part~ of~ the~ format}%
\ExplSyntaxOff %% platex.cfg specific
\endinput
}
\cs_new:Npn \__platex_expl_loaded: { }
%% 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: }
%% File: plcore.dtx
\if_cs_exist:N \__shipout_execute_cont:
\cs_new_eq:NN \__platex_original_shipout_execute_cont: \__shipout_execute_cont:
\box_new:N \l__platex_shipout_dummy_box
\cs_set:Npn \__shipout_execute_cont:
{
% >>> \l_shipout_box が横組でない場合は事前に横組化する
% if \l_shipout_box is not a \yoko-box (= horizontal writing),
% then make it a \yoko-box behorehand.
\platex_if_box_yoko:NF \l_shipout_box {
\vbox_set:Nn \l_shipout_box
{
\platex_direction_yoko:
\box_use:N \l_shipout_box
}
}
% >>> 横組でない場合は \__shipout_execute_cont: を
% >>> 横組ボックス \l__platex_shipout_dummy_box で括って実行する
% if the current direction is not \yoko,
% then enclose \__shipout_execute_cont: with
% a dummy \yoko-box named \l__platex_shipout_dummy_box.
\platex_if_direction_yoko:TF {
\__platex_original_shipout_execute_cont:
}{
\vbox_set:Nn \l__platex_shipout_dummy_box
{
\platex_direction_yoko:
\__platex_original_shipout_execute_cont:
}
% >>> 制限事項:処理終了時に \box\l__platex_shipout_dummy_box して
% >>> メイン垂直リストに中身を戻したいが,無限ループするので不可。
% [Limitation] the code above may discard some contents,
% so we'd like to put it back by \box\l__platex_shipout_dummy_box.
% however, an infinite loop occurs if we uncomment the line below
% so we can't.
%\box_use:N \l__platex_shipout_dummy_box
}
}
\fi:
%%
\ExplSyntaxOff
%%%