From 49c3c37495ff518f26a6e6652e5eb12e6f50fe30 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Tue, 26 May 2020 03:01:29 +0000
Subject: CTAN sync 202005260301

---
 language/japanese/plautopatch/plcollcell.sty | 199 +++++++++++++++++++++++++++
 1 file changed, 199 insertions(+)
 create mode 100644 language/japanese/plautopatch/plcollcell.sty

(limited to 'language/japanese/plautopatch/plcollcell.sty')

diff --git a/language/japanese/plautopatch/plcollcell.sty b/language/japanese/plautopatch/plcollcell.sty
new file mode 100644
index 0000000000..cee4efba27
--- /dev/null
+++ b/language/japanese/plautopatch/plcollcell.sty
@@ -0,0 +1,199 @@
+%
+% plcollcell.sty
+% written by Hironobu Yamashita (@aminophen)
+%
+% This package is part of the plautopatch bundle.
+% https://github.com/aminophen/plautopatch
+%
+% This package is expected to be compatible with
+%   * collcell.sty
+%     (2011/02/27 v0.5)
+%   * plarray.sty in platex-tools
+%     (2018/03/12 v0.1e -- 2018/10/27 v0.1h)
+%
+
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesPackage{plcollcell}
+  [2020/05/05 v0.1 Tabular extension package for pLaTeX/upLaTeX]
+\RequirePackageWithOptions{collcell}
+\RequirePackage{plarray}% collcell.sty requires array.sty
+
+%% code from plarray.sty (for pLaTeX2e 2018/03/09 or later)
+\def\plclcl@insert@column{%
+       \the@toks \the \@tempcnta
+       \relax \pltx@next@inhibitglue
+       \ignorespaces \@sharp \unskip \removejfmglue
+       \the@toks \the \count@ \relax}
+% -- check
+\ifx\insert@column\plclcl@insert@column\else
+  \PackageWarningNoLine{pxcollcell}
+    {Patch to \noexpand\collectcell unsupported}
+  \expandafter\endinput
+\fi \let\plclcl@insert@column\@undefined
+
+%% \plclcl@patch@cmd\CMD{<orig>}{<new>}
+\@onlypreamble\plclcl@patch@cmd
+\def\plclcl@patch@cmd#1#2#3{%
+  \def\plclcl@next##1#2##2\plclcl@mark##3\plclcl@fin{%
+    \ifx\plclcl@mark##3\plclcl@mark
+      \let\plclcl@fragment\relax
+    \else
+      \def\plclcl@fragment{##2}%
+      \def#1{##1#3##2}%
+    \fi}%
+  \expandafter\plclcl@next#1\plclcl@mark#2\plclcl@mark\plclcl@fin}
+% -- prepend (TODO: \kern0pt enables \inhibitglue effect. why?)
+\plclcl@patch@cmd\collcell@beforeuser
+    {\ignorespaces}
+    {\kern0pt\inhibitglue\ignorespaces}
+\ifx\plclcl@fragment\relax
+  \PackageWarningNoLine{pxcollcell}
+    {Patch to \noexpand\collcell@beforeuser failed}
+\fi
+
+%% code from collcell.sty
+\def\plclcl@collectcell#1#2\ignorespaces{%
+  \begingroup
+  \collect@cell@count\z@
+  \collect@cell@toks{}%
+  \let\collect@cell@spaces\empty
+  \def\collect@cell@end{%
+    \expandafter\endgroup
+    \expandafter\collcell@beforeuser
+    \expandafter\ccell@swap\expandafter{\the\collect@cell@toks}{#1}%
+    \collcell@afteruser
+  }%
+  \collect@cell@look#2%
+}
+% -- check
+\ifx\collectcell\plclcl@collectcell\else
+  \PackageWarningNoLine{pxcollcell}
+    {Patching \noexpand\collect@cell@arg but maybe unsafe}
+\fi \let\plclcl@collectcell\@undefined
+% -- redefine to skip \relax\pltx@next@inhibitglue
+\def\collectcell#1#2\relax\pltx@next@inhibitglue\ignorespaces{%
+  \begingroup
+  \collect@cell@count\z@
+  \collect@cell@toks{}%
+  \let\collect@cell@spaces\empty
+  \def\collect@cell@end{%
+    \expandafter\endgroup
+    \expandafter\collcell@beforeuser
+    \expandafter\ccell@swap\expandafter{\the\collect@cell@toks}{#1}%
+    \collcell@afteruser
+  }%
+  \collect@cell@look#2%
+}
+
+%% code from collcell.sty
+\def\plclcl@collect@cell@arg#1{%
+  \cc@case
+    \\{\collect@cell@cr#1}%
+    \end{\collect@cell@checkend}%
+    \csname{\collect@cell@checkcsname}%
+    \unskip{%
+      \let\collect@cell@spaces\empty
+      %\collect@cell@addarg{#1}% do not include the \unskip
+      \collect@cell@look%
+    }%
+    \@sharp{%
+      \expandafter\collect@cell@addarg\expandafter{#1}%
+      \collect@cell@look
+    }%
+    \collectcell{%
+      \advance\collect@cell@count by \@ne
+      \collect@cell@addcc%
+    }%
+    \endcollectcell{%
+      \ifnum\collect@cell@count=\z@
+        \expandafter\collect@cell@end
+      \else
+        \expandafter\endgroup
+        \expandafter\collect@cell@addarg\expandafter
+        {\expandafter{\the\collect@cell@toks}}%
+        \advance\collect@cell@count by \m@ne%
+        \expandafter\collect@cell@look
+      \fi
+    }%
+    \cci{%
+      \collect@cell@look
+    }%
+    \default{%
+      \expandafter\ccell@swap\expandafter
+        {\csname endtabular*\endcsname\endtabular\endarray}{\in@{#1}}%
+      \ifin@
+          \expandafter\@firstoftwo
+      \else
+          \expandafter\@secondoftwo
+      \fi
+      {\collect@cell@cr\\#1}%
+      {%
+        \collect@cell@addarg{#1}%
+        \collect@cell@look
+      }%
+    }%
+ \endcc@case
+}
+% -- check
+\ifx\collect@cell@arg\plclcl@collect@cell@arg\else
+  \PackageWarningNoLine{pxcollcell}
+    {Patching \noexpand\collect@cell@arg but maybe unsafe}
+\fi \let\plclcl@collect@cell@arg\@undefined
+% -- redefine to skip \removejfmglue
+\def\collect@cell@arg#1{%
+  \cc@case
+    \\{\collect@cell@cr#1}%
+    \end{\collect@cell@checkend}%
+    \csname{\collect@cell@checkcsname}%
+    \unskip{%
+      \let\collect@cell@spaces\empty
+      %\collect@cell@addarg{#1}% do not include the \unskip
+      \collect@cell@look%
+    }%
+    \@sharp{%
+      \expandafter\collect@cell@addarg\expandafter{#1}%
+      \collect@cell@look
+    }%
+    \collectcell{%
+      \advance\collect@cell@count by \@ne
+      \collect@cell@addcc%
+    }%
+    \endcollectcell{%
+      \ifnum\collect@cell@count=\z@
+        \expandafter\collect@cell@end
+      \else
+        \expandafter\endgroup
+        \expandafter\collect@cell@addarg\expandafter
+        {\expandafter{\the\collect@cell@toks}}%
+        \advance\collect@cell@count by \m@ne%
+        \expandafter\collect@cell@look
+      \fi
+    }%
+    \cci{%
+      \collect@cell@look
+    }%
+    %%% BEGIN
+    \removejfmglue{%
+      \collect@cell@look
+    }%
+    %%% END
+    \default{%
+      \expandafter\ccell@swap\expandafter
+        {\csname endtabular*\endcsname\endtabular\endarray}{\in@{#1}}%
+      \ifin@
+          \expandafter\@firstoftwo
+      \else
+          \expandafter\@secondoftwo
+      \fi
+      {\collect@cell@cr\\#1}%
+      {%
+        \collect@cell@addarg{#1}%
+        \collect@cell@look
+      }%
+    }%
+ \endcc@case
+}
+
+%% all done
+
+\endinput
-- 
cgit v1.2.3

