diff options
author | Karl Berry <karl@freefriends.org> | 2016-10-15 22:50:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-10-15 22:50:51 +0000 |
commit | 177eef25dd40b669810a53bb5c853ae7473ddbe1 (patch) | |
tree | 2678cb1a125a1d140de36493bd64185bf3437325 /Master/texmf-dist | |
parent | cc71c12ada0ba4aa27acbb3ec40efa37826064fc (diff) |
platex-tools (15oct16)
git-svn-id: svn://tug.org/texlive/trunk@42263 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
18 files changed, 1038 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/platex-tools/LICENSE b/Master/texmf-dist/doc/latex/platex-tools/LICENSE new file mode 100644 index 00000000000..2a2a1397494 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2016 Hironobu Yamashita +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of platex nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Master/texmf-dist/doc/latex/platex-tools/Makefile b/Master/texmf-dist/doc/latex/platex-tools/Makefile new file mode 100644 index 00000000000..2124a49a87d --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/Makefile @@ -0,0 +1,17 @@ +KANJI = -kanji=utf8 +FONTMAP = -f ipaex.map -f ptex-ipaex.map + +all: plextarray.pdf plextdelarray.pdf pxftnright.pdf \ + pxeverysel.pdf pxeveryshi.pdf + +.SUFFIXES: .tex .dvi .pdf +.tex.dvi: + platex $(KANJI) $< + platex $(KANJI) $< + rm *.aux *.log +.dvi.pdf: + dvipdfmx $(FONTMAP) $< + +.PHONY: clean +clean: + rm -f *.dvi *.pdf diff --git a/Master/texmf-dist/doc/latex/platex-tools/README.md b/Master/texmf-dist/doc/latex/platex-tools/README.md new file mode 100644 index 00000000000..48f14239b8d --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/README.md @@ -0,0 +1,32 @@ +# platex-tools + +This bundle is an extended version of latex-tools bundle developed +by LaTeX team, mainly intended to support pLaTeX2e and upLaTeX2e. +Currently patches for latex-tools bundle and ms bundle (by Martin +Martin Schröder) are included. + +## Character encoding + +All the package files (.sty) contain ASCII characters only. +All the document files (.tex) are encoded in UTF-8. + +## Installation + +- *.sty -> $TEXMF/tex/platex/platex-tools +- *.tex, *.pdf -> $TEXMF/doc/platex/platex-tools + +## Repository + +The bundle is maintained on GitHub: +https://github.com/aminophen/platex-tools + +## License + +The bundle may be distributed and/or modified under the terms of +the 3-clause BSD license (see [LICENSE](./LICENSE)). + +## Release Date + +2016-10-15 + +Hironobu Yamashita diff --git a/Master/texmf-dist/doc/latex/platex-tools/plextarray.pdf b/Master/texmf-dist/doc/latex/platex-tools/plextarray.pdf Binary files differnew file mode 100644 index 00000000000..2a10457c349 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/plextarray.pdf diff --git a/Master/texmf-dist/doc/latex/platex-tools/plextarray.tex b/Master/texmf-dist/doc/latex/platex-tools/plextarray.tex new file mode 100644 index 00000000000..fe5ad866e61 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/plextarray.tex @@ -0,0 +1,154 @@ +%# -*- coding: utf-8 -*- +\ifdefined\epTeXinputencoding % defined in e-pTeX (> TL2016) + \epTeXinputencoding utf8 % ensure utf-8 encoding for platex +\fi + +\documentclass[a4paper]{jsarticle} +\usepackage{doc} +\usepackage{array} +\usepackage{plextarray} +\GetFileInfo{plextarray.sty} +\title{Package \textsf{plextarray} \fileversion} +\author{Hironobu Yamashita} +\date{\filedate} +\begin{document} + +\maketitle + +Package \textsf{array}, included in \textsf{latex-tools} bundle, is +incompatible with \textsf{plext} package on Japanese p\LaTeX. +This is because \textsf{plext} extends \texttt{tabular} and \texttt{array} +environments to add an optional argument for direction specification. +The package \textsf{plextarray} resolves this incompatibility, +and enables coexistence of both extensions provided by \textsf{plext} +and \textsf{array}. + +This package is part of \textsf{platex-tools} bundle: +\begin{verbatim} + https://github.com/aminophen/platex-tools +\end{verbatim} + +\section*{Brief explanation of ``\textsf{plext}'' package} + +This section is for people who are not familiar with Japanese p\LaTeX\ +and \textsf{plext} package. + +Package \textsf{plext} extends \texttt{tabular} and \texttt{array} +environments by adding \texttt{<dir>} option, which specifies the +writing direction: +\begin{verbatim} + \begin{tabular}<dir>[pos]{table spec} ... \end{tabular} + \begin{array}<dir>[pos]{table spec} ... \end{array} +\end{verbatim} +The option \texttt{<dir>} permits one of the following three values. +If none of them is specified, the direction inside the environment +is same as that outside the enviromnent. +\begin{quote} + \begin{description} + \item[y] \emph{yoko} direction (horizontal writing) + \item[t] \emph{tate} direction (vertical writing) + \item[z] native direction of \TeX +\end{description} +\end{quote} +The rest of this document is written in Japanese, and includes some +examples of usage. + +\bigskip + +\textsf{latex-tools}バンドルに含まれる\textsf{array}パッケージは、 +p\LaTeX の拡張パッケージである\textsf{plext}パッケージと互換性がありません。 +これは、\textsf{plext}パッケージは、文書中で局所的に組方向を変える「組方向 +オプション」の拡張を持っていますが、これと\textsf{array}パッケージによる拡張 +が衝突してしまうためです\footnote{\textsf{plext}→\textsf{array}の順に読み込む +と\textsf{plext}による拡張がキャンセルされて使えなくなります。 +逆に\textsf{array}→\textsf{plext}の順に読み込むとエラーが出てしまいます。}。 +この\textsf{plextarray}パッケージを読み込むことで、 +\textsf{plext}パッケージの組方向オプション拡張と\textsf{array}パッケージの +拡張の両方を使うことができるようになります。 + +\section{使いかた} + +\textsf{plext}と\textsf{array}を共存させたいときに、プリアンブルに +\verb+\usepackage{plextarray}+と書きます。既にいずれかのパッケージが +読み込まれていても問題ありません。また、\textsf{plextarray}パッケージを +読み込めば、\textsf{plext}と\textsf{array}も自動的に読み込まれます。 + +\textsf{dcolumn}や\textsf{tabularx}のような、内部で\textsf{array}を利用 +しているパッケージを\textsf{plext}と共存させたい場合にも、 +\textsf{plextarray}が便利です。 + +以下に例を示します。横組中で縦組の表を書く例。 + +\bigskip +\begin{minipage}{0.5\linewidth} +\begin{verbatim} + \documentclass{jsarticle} + \usepackage{plextarray} + \begin{document} + 組方向 \verb+<t>+ 指定 + \begin{tabular}<t>{|>{$}c<{$}|c|}\hline + \exp(x) & 指数関数 \\ \hline + \log(x) & 対数関数 \\ \hline + \end{tabular} + 終わり + \end{document} +\end{verbatim} +\end{minipage} +\begin{minipage}{0.3\linewidth} + 組方向 \verb+<t>+ 指定 + \begin{tabular}<t>{|>{$}c<{$}|c|}\hline + \exp(x) & 指数関数 \\ \hline + \log(x) & 対数関数 \\ \hline + \end{tabular} + 終わり +\end{minipage} + +\bigskip + +縦組中で横組の表を書く例。\pLaTeX の縦組クラスでは\textsf{plext}パッケージが +最初から読み込まれているため、\textsf{array}パッケージを使用したい場合には +必ず\textsf{plextarray}パッケージを読み込む必要があります。 + +\bigskip +\begin{minipage}{0.5\linewidth} +\begin{verbatim} + \documentclass{tarticle} + %\usepackage{array} + \usepackage{plextarray} + \begin{document} + 組方向 \verb+<y>+ 指定 + \begin{tabular}<y>{|m{8zw}|m{5zw}|m{5zw}|} + \hline + \multicolumn{3}{|c|}{果物のリスト} \\ \hline + 品名 & 金額 & 産地 \\ \hline + りんご & 170円 & 青森県 \\ \hline + みかん & 150円 & 和歌山県 \\ \hline + パイナップル & 400円 & 沖縄県 \\ \hline + バナナ & 190円 & フィリピン \\ \hline + \end{tabular} + 終わり + \end{document} +\end{verbatim} +\end{minipage} +\begin{minipage}<t>{0.45\linewidth} +組方向 \verb+<y>+ 指定 +\begin{tabular}<y>{|m{8zw}|m{5zw}|m{5zw}|} + \hline + \multicolumn{3}{|c|}{果物のリスト} \\ \hline + 品名 & 金額 & 産地 \\ \hline + りんご & 170円 & 青森県 \\ \hline + みかん & 150円 & 和歌山県 \\ \hline + パイナップル & 400円 & 沖縄県 \\ \hline + バナナ & 190円 & フィリピン \\ \hline +\end{tabular} +終わり +\end{minipage} +\bigskip + +\section{謝辞} + +本パッケージの実装にあたっては、 +Lua\TeX-jaプロジェクト\footnote{\texttt{https://osdn.net/projects/luatex-ja/}}の +\textsf{lltjext}パッケージを参考にしました。 + +\end{document} diff --git a/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.pdf b/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.pdf Binary files differnew file mode 100644 index 00000000000..a23f1b5dc52 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.pdf diff --git a/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.tex b/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.tex new file mode 100644 index 00000000000..cbbb3b56e06 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/plextdelarray.tex @@ -0,0 +1,159 @@ +%# -*- coding: utf-8 -*- +\ifdefined\epTeXinputencoding % defined in e-pTeX (> TL2016) + \epTeXinputencoding utf8 % ensure utf-8 encoding for platex +\fi + +\documentclass[a4paper]{jsarticle} +\usepackage{doc} +\usepackage{delarray} +\usepackage{plextdelarray} +\GetFileInfo{plextdelarray.sty} +\title{Package \textsf{plextdelarray} \fileversion} +\author{Hironobu Yamashita} +\date{\filedate} +\begin{document} + +\maketitle + +Package \textsf{delarray}, included in \textsf{latex-tools} bundle, is +incompatible with \textsf{plext} package for p\LaTeX. +The package \textsf{plextarray} resolves this incompatibility, +and enables coexistence of both extensions provided by \textsf{plext} +and \textsf{delarray}. If you are not familiar with Japanese p\LaTeX\ +and \textsf{plext} package, please find the documentation of +\textsf{plextarray} for brief explanation. + +This package is part of \textsf{platex-tools} bundle: +\begin{verbatim} + https://github.com/aminophen/platex-tools +\end{verbatim} + +The rest of this document is written in Japanese, and includes some +examples of usage. + +\bigskip + +\textsf{latex-tools}バンドルに含まれる\textsf{delarray}パッケージは、 +p\LaTeX の拡張パッケージである\textsf{plext}パッケージと互換性がありません。 +この\textsf{plextdelarray}パッケージは、\textsf{plext}パッケージの組方向 +オプション拡張と\textsf{delarray}パッケージの拡張の両方を「一応使える」状態 +にするものです。ただし、\textsf{plext}の内部実装の都合上、\textsf{delarray}と +完全に同じ結果にならない場合があるかもしれません\footnote{本パッケージは +「\textsf{delarray}を読み込んだだけで\textsf{plext}の部分的な縦書き機能が +すべて使えなくなってしまって困った」という場合の、あくまで非常手段という +程度にとらえてください。}。 + +\section{使いかた} + +\textsf{plext}と\textsf{delarray}を共存させたいときに、プリアンブルに +\verb+\usepackage{plextdelarray}+と書きます。既にいずれかのパッケージが +読み込まれていても問題ありません。また、\textsf{plextdelarray}パッケージを +読み込めば、\textsf{plext}と\textsf{delarray}も自動的に読み込まれます。 +また、\textsf{plextarray}パッケージも読み込みます。 + +以下に例を示します。左側が\textsf{delarray}の機能で左右括弧を付けたもの、 +右側が通常の\textsf{array}の機能で左右括弧を付けたものです。 +特に\verb+[t]+と\verb+[b]+は、\textsf{delarray}なしでは実現できない +ようです(例は\textsf{delarray}のドキュメントを少し改変)。 + +\bigskip +\begin{minipage}{0.5\linewidth} +\begin{verbatim} + \documentclass{jsarticle} + %\usepackage{plext} + %\usepackage{delarray} + \usepackage{plextdelarray} + \begin{document} + \[ + \begin{array}[t]\{{c}\} + 3 \\ 4 \\ 5 \end{array} + \begin{array}[c]\{{c}\} + 2 \\ 3 \\ 4 \end{array} + \begin{array}[b]\{{c}\} + 1 \\ 2 \\ 3 \end{array} + \] + \[ + \left\{ \begin{array}[t]{c} + 3 \\ 4 \\ 5 \end{array} \right\} + \left\{ \begin{array}[c]{c} + 2 \\ 3 \\ 4 \end{array} \right\} + \left\{ \begin{array}[b]{c} + 1 \\ 2 \\ 3 \end{array} \right\} + \] + \end{document} +\end{verbatim} +\end{minipage} +\begin{minipage}{0.4\linewidth} +\mbox{}\\[10ex] + \[ + \begin{array}[t]\{{c}\} + 3 \\ 4 \\ 5 \end{array} + \begin{array}[c]\{{c}\} + 2 \\ 3 \\ 4 \end{array} + \begin{array}[b]\{{c}\} + 1 \\ 2 \\ 3 \end{array} + \] +\\[5ex] + \[ + \left\{ \begin{array}[t]{c} + 3 \\ 4 \\ 5 \end{array} \right\} + \left\{ \begin{array}[c]{c} + 2 \\ 3 \\ 4 \end{array} \right\} + \left\{ \begin{array}[b]{c} + 1 \\ 2 \\ 3 \end{array} \right\} + \] +\end{minipage} +\bigskip + +\textsf{plext}と\textsf{delarray}の両方の拡張を同じ箇所で使用することも +できなくはありませんが、役に立つ状況は少ないと思います。 + +\bigskip +\begin{minipage}{0.5\linewidth} +\begin{verbatim} + \documentclass{jsarticle} + %\usepackage{plext} + %\usepackage{delarray} + \usepackage{plextdelarray} + \begin{document} + \[ + \begin{array}<t>[t]\{{c}\} + 3 \\ 4 \\ 5 \end{array} + \begin{array}<t>[c]\{{c}\} + 2 \\ 3 \\ 4 \end{array} + \begin{array}<t>[b]\{{c}\} + 1 \\ 2 \\ 3 \end{array} + \] + \[ + \newcolumntype{L}{>{$}l<{$}} + f(x)= + \begin{array}<t>\{{lL}. + 0 & if $x=0$ \\ + \sin(x)/x & otherwise + \end{array} + \] + \end{document} +\end{verbatim} +\end{minipage} +\begin{minipage}{0.4\linewidth} +\mbox{}\\[12ex] + \[ + \begin{array}<t>[t]\{{c}\} + 3 \\ 4 \\ 5 \end{array} + \begin{array}<t>[c]\{{c}\} + 2 \\ 3 \\ 4 \end{array} + \begin{array}<t>[b]\{{c}\} + 1 \\ 2 \\ 3 \end{array} + \] +\\[6ex] + \[ + \newcolumntype{L}{>{$}l<{$}} + f(x)= + \begin{array}<t>\{{lL}. + 0 & if $x=0$ \\ + \sin(x)/x & otherwise + \end{array} + \] +\end{minipage} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.pdf b/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.pdf Binary files differnew file mode 100644 index 00000000000..5cfd02f0e5f --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.pdf diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.tex b/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.tex new file mode 100644 index 00000000000..a6d4ed04823 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/pxeverysel.tex @@ -0,0 +1,61 @@ +%# -*- coding: utf-8 -*- +\ifdefined\epTeXinputencoding % defined in e-pTeX (> TL2016) + \epTeXinputencoding utf8 % ensure utf-8 encoding for platex +\fi + +\documentclass[a4paper]{jsarticle} +\usepackage{doc} +\usepackage{pxeverysel} +\GetFileInfo{pxeverysel.sty} +\title{Package \textsf{pxeverysel} \fileversion} +\author{Takayuki Yato} +\date{\filedate} +\begin{document} + +\maketitle + +Package \textsf{everysel}, written by Martin Schr\"oder, +is incompatible with the definition of \verb+\selectfont+ redefined +by p\LaTeX\ kernel. For this reason, when using \textsf{everysel}, +font selection scheme for Japanese characters goes wrong. +The package \textsf{pxeverysel} provides a patch for \textsf{everysel} +to work with p\LaTeX\ font selection. + +This package is part of \textsf{platex-tools} bundle: +\begin{verbatim} + https://github.com/aminophen/platex-tools +\end{verbatim} + +\bigskip + +Martin Schr\"oder氏による\textsf{everysel}パッケージをp\LaTeX で +使用すると、日本語の文字サイズが変わらなくなったり、 +\textsf{otf}パッケージで文字化けが起こったりします。 +これは、\pLaTeX カーネルが日本語用に再定義している\verb+\selectfont+が、 +\textsf{everysel}によって書き換えられてしまうためです。この\textsf{pxeverysel}パッケージを読み込むことで、p\LaTeX でも +\textsf{everysel}パッケージを使えるようになります。 + +使いかたは、\textsf{everysel}パッケージの代わりに、あるいは +\textsf{everysel}パッケージに追加して、\textsf{pxeverysel}パッケージを +読みこむだけです。\textsf{everysel}を内部で読み込んでいる +\textsf{ragged2e}を例に示します: +\begin{verbatim} + \documentclass[a4paper]{jsarticle} + \usepackage{ragged2e}% 読み込むだけでアウト + \usepackage{pxeverysel} + \begin{document} + % 和文のフォントサイズが変わらない! + {\TeX}はアレ{\Large{\TeX}はアレ} + \end{document} +\end{verbatim} + +\section*{References} + +\begin{itemize} +\item vwcol.styとutf.styを併用したい\\ + \texttt{http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1763} +\item pLaTeXでeveryselしたい話\\ + \texttt{http://d.hatena.ne.jp/zrbabbler/20151212/1449898508} +\end{itemize} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxeveryshi.pdf b/Master/texmf-dist/doc/latex/platex-tools/pxeveryshi.pdf Binary files differnew file mode 100644 index 00000000000..b9b989d393a --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/pxeveryshi.pdf diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxeveryshi.tex b/Master/texmf-dist/doc/latex/platex-tools/pxeveryshi.tex new file mode 100644 index 00000000000..ca3aafd9d6a --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/pxeveryshi.tex @@ -0,0 +1,67 @@ +%# -*- coding: utf-8 -*- +\ifdefined\epTeXinputencoding % defined in e-pTeX (> TL2016) + \epTeXinputencoding utf8 % ensure utf-8 encoding for platex +\fi + +\documentclass[a4paper]{jsarticle} +\usepackage{doc} +\usepackage{pxeveryshi} +\GetFileInfo{pxeveryshi.sty} +\title{Package \textsf{pxeveryshi} \fileversion} +\author{Takayuki Yato} +\date{\filedate} +\begin{document} + +\maketitle + +Package \textsf{everyshi}, written by Martin Schr\"oder, +cannot be used with Japanese classes for vertical writing +(tarticle.cls, etc). This behavior is not comfortable, since +\textsf{everyshi} is required by some other packages +(e.g. \textsf{tikz}) and causes an error: +\begin{verbatim} + ! Incompatible direction list can't be unboxed. +\end{verbatim} +The package \textsf{pxeveryshi} provides a patch for \textsf{everyshi} +to work with both horizontal and vertical writing. + +This package is part of \textsf{platex-tools} bundle: +\begin{verbatim} + https://github.com/aminophen/platex-tools +\end{verbatim} + +\bigskip + +Martin Schr\"oder氏による\textsf{everyshi}パッケージは、 +p\LaTeX の縦組クラス(tarticle.clsなど)で使うとエラーが出てしまいます。 +この挙動は、たとえば\textsf{tikz}のような内部で\textsf{everyshi}パッケージ +を必要とするパッケージを縦組で使用する際に問題になります。 +この\textsf{pxeveryshi}パッケージを読み込むことで、縦組クラスでも +\textsf{everyshi}パッケージ(およびこれに依存するパッケージ)が +使えるようになります。 + +使いかたは、\textsf{everyshi}パッケージの代わりに、あるいは +\textsf{everyshi}パッケージに追加して、\textsf{pxeveryshi}パッケージを +読みこむだけです。使用例: +\begin{verbatim} + \documentclass{tarticle} + \usepackage[dvipdfmx]{graphicx} + \usepackage{tikz} + \usepackage{pxeveryshi} + \begin{document} + \begin{tikzpicture} + \draw (0,0) -- (1,2); + \end{tikzpicture} + \end{document} +\end{verbatim} + +\section*{References} + +\begin{itemize} +\item tikz を縦書きで\\ + \texttt{https://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/56760.html} +\item Re: tikz を縦書きで\\ + \texttt{https://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/56761.html} +\end{itemize} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxftnright.pdf b/Master/texmf-dist/doc/latex/platex-tools/pxftnright.pdf Binary files differnew file mode 100644 index 00000000000..7016849f6c3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/pxftnright.pdf diff --git a/Master/texmf-dist/doc/latex/platex-tools/pxftnright.tex b/Master/texmf-dist/doc/latex/platex-tools/pxftnright.tex new file mode 100644 index 00000000000..264f7181b75 --- /dev/null +++ b/Master/texmf-dist/doc/latex/platex-tools/pxftnright.tex @@ -0,0 +1,66 @@ +%# -*- coding: utf-8 -*- +\ifdefined\epTeXinputencoding % defined in e-pTeX (> TL2016) + \epTeXinputencoding utf8 % ensure utf-8 encoding for platex +\fi + +\documentclass[a4paper]{jsarticle} +\begingroup + \def\NeedsTeXFormat#1\ProvidesPackage#2[#3 #4 #5]{% + \gdef\fileversion{#4}\gdef\filedate{#3}\endinput} + \input{pxftnright.sty} +\endgroup +\title{Package \textsf{pxftnright} \fileversion} +\author{Hironobu Yamashita} +\date{\filedate} +\begin{document} + +\maketitle + +Package \textsf{ftnright}, included in \textsf{latex-tools} bundle, +cannot be used with Japanese classes for vertical writing +(tarticle.cls, etc). The package \textsf{pxftnright} provides some +patches to \textsf{ftnright} to work fine with vertical writing. + +This package is part of \textsf{platex-tools} bundle: +\begin{verbatim} + https://github.com/aminophen/platex-tools +\end{verbatim} + +The rest of this document is written in Japanese, and includes some +examples of usage. + +\bigskip + +\textsf{latex-tools}バンドルに含まれる\textsf{ftnright}パッケージは、 +p\LaTeX の縦組クラス(tarticle.clsなど)で使うとエラーが出てしまいます。 +この\textsf{pxftnright}パッケージを読み込むことで、縦組クラスでも +\textsf{ftnright}パッケージと同等の機能(二段組において、横組なら +脚注が右カラムに、縦組なら傍注\footnote{\verb+\footnote+という命令を +使用して得られるのは、縦組では正式には「傍注」と呼びます。}が下カラムに +まとまる)を得ることができます。 + +\section{使いかた} + +\textsf{ftnright}パッケージの代わりに、あるいは +\textsf{ftnright}パッケージより\emph{前}に、 +\textsf{pxftnright}パッケージを読みこみます(後に読みこんだ場合は +対策が手遅れになるため、エラーを出します)。 + +\begin{verbatim} + \documentclass[twocolumn]{tarticle} + \usepackage{pxftnright}% ftnright の代わり + \begin{document} + 縦組では\verb+\footnote+命令を使用すると、 + 傍注が出てきます\footnote{紛らわしいですね。}。 + また、… + \end{document} +\end{verbatim} + +\section*{References} + +\begin{itemize} +\item 縦書き2段組の脚注について\\ + \texttt{http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1896} +\end{itemize} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/platex-tools/plextarray.sty b/Master/texmf-dist/tex/latex/platex-tools/plextarray.sty new file mode 100644 index 00000000000..210dba5dee6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/platex-tools/plextarray.sty @@ -0,0 +1,102 @@ +% +% plextarray.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the platex-tools bundle. +% https://github.com/aminophen/platex-tools +% +% This package `plextarray.sty' is based on: +% * array.sty in latex-tools (2016/10/06 v2.4d) +% * plext.sty in platex (2016/08/20 v1.2a) +% and lltjext.sty from LuaTeX-ja project. +% + +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{plextarray} + [2016/10/07 v1.0f Tabular extension package for plext and array] +\RequirePackage{plext} +\RequirePackage{array} + +%% save definitions from array.sty +\def\array{\col@sep\arraycolsep + \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\def\@halignto{}% + \@tabarray} +\def\tabular{\def\@halignto{}\@tabular} +\expandafter\def\csname tabular*\endcsname#1{% + \setlength\dimen@{#1}% + \edef\@halignto{to\the\dimen@}\@tabular} + +%% patching internal code for array.sty and plext.sty +% +\def\@startpbox#1{\bgroup + \box@dir\adjustbaseline %% added + \hsize=#1\@arrayparboxrestore + \everypar{% + \vrule \@height \ht\@arstrutbox \@width \z@ + \everypar{}}% + } +% +\def\@tabarray{\@ifnextchar<\p@tabarray{\p@tabarray<Z>}} +% +%% merged \@array (from array.sty) and \p@array (from plext.sty) +\def\p@array<#1>[#2]#3{% + %%%%% new code for box direction + \let\box@dir\relax + \iftdir + \if #1y\relax + \let\box@dir\yoko + \@tempcnta=\z@ % \(y)strutbox + \else\if #1z\relax + \@rotswtrue + \let\box@dir\tate + \@tempcnta=\tw@ % \zstrutbox + \else + \let\box@dir\tate + \@tempcnta=\@ne % \tstrutbox + \fi\fi + \else + \if #1t\relax + \let\box@dir\tate + \@tempcnta=\@ne % \tstrutbox + \else + \let\box@dir\yoko + \@tempcnta=\z@ % \(y)strutbox + \fi + \fi + %%%%% new code end + \setbox \@arstrutbox \hbox{\box@dir %% add \box@dir + % the behavior of \strutbox may be changed + % (box resister -> conditional macro) in the future; + % so, \strutbox should appear after \box@dir is applied. + \@tempcntb=\ifcase\@tempcnta\strutbox + \or\tstrutbox\or\zstrutbox\or\@ctrerr\fi + \@tempdima \ht \@tempcntb + \advance \@tempdima by\extrarowheight + \vrule \@height \arraystretch \@tempdima + \@depth \arraystretch \dp \@tempcntb + \@width \z@}% + \fork@array@option<#1>[#2]% %% merged from plext + \begingroup + \@mkpream{#3}% + % following definition of \@preamble is from plext (\edef -> \xdef), + % but it's not the same as the one in array; why? + \xdef\@preamble{\ialign \noexpand \@halignto + \bgroup \tabskip \z@skip \@arstrut \@preamble + \tabskip \z@skip \cr}% + \endgroup + \@arrayleft + \@begin@alignbox %% defined inside \fork@array@option + \bgroup + \box@dir\adjustbaseline + \let\par\@empty + \let\@sharp##\let\protect\relax + \let\\\@arraycr\let\tabularnewline\\ + \lineskip\z@skip\baselineskip\z@skip\@preamble} +% +\def\endarray{\crcr \egroup \egroup \@end@alignbox \@arrayright \gdef\@preamble{}} +\def\endtabular{\endarray $\egroup\null} +\expandafter \let \csname endtabular*\endcsname = \endtabular +% +%% all done + +\endinput diff --git a/Master/texmf-dist/tex/latex/platex-tools/plextdelarray.sty b/Master/texmf-dist/tex/latex/platex-tools/plextdelarray.sty new file mode 100644 index 00000000000..b81a88b3323 --- /dev/null +++ b/Master/texmf-dist/tex/latex/platex-tools/plextdelarray.sty @@ -0,0 +1,48 @@ +% +% plextdelarray.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the platex-tools bundle. +% https://github.com/aminophen/platex-tools +% +% This package `plextdelarray.sty' is based on: +% * delarray.sty in latex-tools (2014/10/28 v1.01) +% * plext.sty in platex (2016/08/20 v1.2a) +% + +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{plextdelarray} + [2016/09/11 v1.0 array delimiter package for plext and delarray] +\RequirePackage{plextarray} +\RequirePackage{delarray} + +%% patching internal code for array.sty and plext.sty +% +\def\@tabarray{\@ifnextchar<\p@tabarray{\p@tabarray<Z>}} +% +%% adopt from \p@tabarray (from plext.sty) +\def\p@tabarray<#1>{\m@th\@ifnextchar[%] + {\p@@array<#1>}{\p@@array<#1>[c]}} +% +%% adopt from \@@array (from delarray.sty) +\def\p@@array<#1>[#2]{\@ifnextchar\bgroup + {\let\@arrayleft\relax\let\@arrayright\relax\p@array<#1>[#2]}% + {\p@del@array<#1>[#2]}} +% +%% adopt from \@del@array (from delarray.sty) +\def\p@del@array<#1>[#2]#3#4#5{% + \setbox\z@\hbox{$\left#3\right#5$}% + \if#2c\def\@arrayleft{\left#3}\def\@arrayright{\right#5}% + \else\def\@arrayleft{\setbox\z@=\hbox\bgroup}% !!! + \def\@arrayright{\egroup% !!! + \dimen@=\dp\z@ + \advance\dimen@-\ht\z@ + \divide \dimen@ by \tw@ + \advance\dimen@ by\fontdimen22 \textfont\tw@ + \lower\dimen@\hbox{$\left#3\vcenter{\box\z@}\right#5$}}% !!! + \fi + \p@array<#1>[#2]{#4}} +% +%% all done + +\endinput diff --git a/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty b/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty new file mode 100644 index 00000000000..c73a8c4b657 --- /dev/null +++ b/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty @@ -0,0 +1,145 @@ +% +% pxeverysel.sty +% originally written by Takayuki Yato (ZR) +% and modified by Hironobu Yamashita +% +% This package is distributed as part of the platex-tools bundle +% maintained by Hironobu Yamashita +% by courtesy of the original author. +% https://github.com/aminophen/platex-tools +% + +%% package declaration +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pxeverysel} + [2016/09/09 v0.4 Patch to everysel for (u)pLaTeX] + +%% if ctex classes/packages are already loaded, exit silently +\ifdefined\CTEXoptions % defined at least CTeX 2007/05/06 + \expandafter\endinput +\fi + +%% preparations +\def\pxys@pkgname{pxeverysel} +\def\pxys@warn{\PackageWarningNoLine\pxys@pkgname} + +%% load it +\RequirePackage{everysel} + +%% support for (u)pLaTeX font tracing +\@ifpackageloaded{tracefnt}{% + \ifx\kanjiskip\@undefined\else\ifx\ucs\@undefined + \RequirePackage{ptrace}\else\RequirePackage{uptrace}\fi\fi}{} + +%--------------------------------------- helpers + +%% unique tokens +\def\pxys@mark{\pxys@mark@} +\def\pxys@fin{\pxys@fin@} + +%% \pxys@patch@cmd\CMD{<pre>}{<post>}{<new>} +\@onlypreamble\pxys@patch@cmd +\def\pxys@patch@cmd#1#2#3#4{% + \def\pxys@next##1#2##2#3##3\pxys@mark##4\pxys@fin{% + \ifx\pxys@mark##4\pxys@mark + \let\pxys@fragment\relax + \else + \def\pxys@fragment{##2}% + \def#1{##1#4##3}% + \fi}% + \expandafter\pxys@next#1\pxys@mark#2#3\pxys@mark\pxys@fin} + +%% \pxys@append@to\CSa\CSb +\@onlypreamble\pxys@append@to +\def\pxys@append@to#1#2{% + \expandafter\g@addto@macro\expandafter#1\expandafter{#2}} + +%% \pxys@term +\let\pxys@term\relax + +%--------------------------------------- + +%% variables +\let\pxys@self@hook\@empty +\let\pxys@everysel@hook\@empty +\@onlypreamble\pxys@selectfont +\let\pxys@selectfont\relax +\@onlypreamble\pxys@org@selectfont +\let\pxys@org@selectfont\relax +\@onlypreamble\pxys@new@selectfont +\let\pxys@new@selectfont\relax + +%% \@EverySelectfont@Init redefined +\@onlypreamble\pxys@EverySelectfont@Init +\let\pxys@EverySelectfont@Init\@EverySelectfont@Init +\def\@EverySelectfont@Init{% + \pxys@preproc + \pxys@EverySelectfont@Init + \pxys@postproc} + +%% \pxys@preproc +\@onlypreamble\pxys@preproc +\def\pxys@preproc{% + % prepare + \expandafter\let\expandafter\pxys@selectfont + \csname selectfont \endcsname + \let\pxys@org@selectfont\pxys@selectfont + % extract "pre-\size@update" insertion + \pxys@append@to\pxys@selectfont\pxys@term + \pxys@patch@cmd\pxys@selectfont + {\pickup@font\font@name}{\size@update\pxys@term}% % plfonts/ptrace + {\pickup@font\font@name\pxys@self@hook\pxys@everysel@hook + \size@update\enc@update}% + \ifx\pxys@fragment\relax + \let\pxys@selectfont\pxys@org@selectfont + % extract "pre-\enc@update" insertion + \pxys@patch@cmd\pxys@selectfont + {\pickup@font\font@name}{\size@update\enc@update}% % ltfsstrc/tracefnt + {\pickup@font\font@name\pxys@self@hook\pxys@everysel@hook + \size@update\enc@update}% + \ifx\pxys@fragment\relax % failure + \let\pxys@selectfont\relax + \else + \pxys@append@to\pxys@self@hook\pxys@fragment + \fi + \else + \pxys@append@to\pxys@self@hook\pxys@fragment + \fi + \let\pxys@new@selectfont\pxys@selectfont + % prepare for everysel routine + \let\CheckCommand\@gobble + % hack for disabling duplicate font info + \expandafter\let\expandafter\pxys@ver@tracefnt + \csname ver@tracefnt.sty\endcsname + \expandafter\let\csname ver@tracefnt.sty\endcsname\@undefined} + +%% \pxys@postproc +\@onlypreamble\pxys@postproc +\def\pxys@postproc{% + % revert the hack for disabling duplicate font info + \expandafter\let\csname ver@tracefnt.sty\endcsname\pxys@ver@tracefnt + % post handling of everysel routine + \let\CheckCommand\pxys@CheckCommand + \let\pxys@CheckCommand\@undefined + \expandafter\let\expandafter\pxys@selectfont + \csname selectfont \endcsname + % extract the code insertion by everysel + \pxys@patch@cmd\pxys@selectfont + {\pickup@font\font@name}{\size@update\enc@update}{}% + \ifx\pxys@fragment\relax % failure + \let\pxys@new@selectfont\relax + \else % success + \pxys@append@to\pxys@everysel@hook\pxys@fragment + \fi + % commit the change + \ifx\pxys@new@selectfont\relax % failure + \let\pxys@selectfont\pxys@org@selectfont % revert + \pxys@warn{Failed in patching \string\selectfont}% + \else % success + \let\pxys@selectfont\pxys@new@selectfont + \fi + \expandafter\let\csname selectfont \endcsname\pxys@selectfont} + +%--------------------------------------- done +\endinput +%% EOF diff --git a/Master/texmf-dist/tex/latex/platex-tools/pxeveryshi.sty b/Master/texmf-dist/tex/latex/platex-tools/pxeveryshi.sty new file mode 100644 index 00000000000..8a534095d96 --- /dev/null +++ b/Master/texmf-dist/tex/latex/platex-tools/pxeveryshi.sty @@ -0,0 +1,28 @@ +% +% pxeveryshi.sty +% written by Takayuki Yato (ZR) +% +% This package is distributed as part of the platex-tools bundle +% maintained by Hironobu Yamashita +% by courtesy of the original author. +% https://github.com/aminophen/platex-tools +% + +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{pxeveryshi} + [2012/05/19 v0.1 everyshi package for pLaTeX] +\RequirePackageWithOptions{everyshi} +% +\def\@EveryShipout@Output{% + \setbox8\vbox{% + \yoko + \@EveryShipout@Hook + \@EveryShipout@AtNextHook + \global\setbox\@cclv=\box\@cclv + }% + \gdef\@EveryShipout@AtNextHook{}% + \@EveryShipout@Org@Shipout\box\@cclv +} +% +\endinput +%% EOF diff --git a/Master/texmf-dist/tex/latex/platex-tools/pxftnright.sty b/Master/texmf-dist/tex/latex/platex-tools/pxftnright.sty new file mode 100644 index 00000000000..f16fa403624 --- /dev/null +++ b/Master/texmf-dist/tex/latex/platex-tools/pxftnright.sty @@ -0,0 +1,132 @@ +% +% pxftnright.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the platex-tools bundle. +% https://github.com/aminophen/platex-tools +% +% This package `pxftnright' is based on: +% * ftnright.sty in latex-tools (2014/10/28 v1.1f) +% +% Problems with ftnright to use with pLaTeX: +% * \@startcolumn is redefined +% (incompatible with vertical typesetting) +% * \@makecol is redefined +% (bottom float after footnote) +% * \@makefntext is redefined +% (incompatible with some pLaTeX classes) +% * \footnotesep is not suitable for vertical typesetting +% (rather a problem of \strutbox in pLaTeX2e kernel?) +% so, this package provides patches. +% + +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{pxftnright} + [2016/09/07 v1.0 footnote layout package for pLaTeX] + +%% save \@makefntext definition from pLaTeX class +\@ifpackageloaded{ftnright}{% + \PackageError{pxftnright}{% + Package ftnright is already loaded!\MessageBreak + Load pxftnright earlier}\@ehc +}{} +\let\pxftn@makefntext\@makefntext + +%% load ftnright package +\RequirePackage{ftnright} + +%% patches for ftnright to work fine with pLaTeX +%% This code is based on pLaTeX2e 2016/09/03 community ed. + +\def\@startcolumn{% + \ifx\@deferlist\@empty + \global\@fcolmadefalse + \global\@colroom\@colht + \else + \ifvoid\footins\else + \ftn@amount\ht\footins + \advance\ftn@amount\dp\footins + \advance\ftn@amount\skip\footins + \fi + \global\advance\@colht-\ftn@amount + \global\@colroom\@colht + \@xstartcol + \global\advance\@colht\ftn@amount + \global\advance\@colroom\ftn@amount + \fi + \if@fcolmade + \setbox\@cclv\box\@outputbox + \@makecol + \else +%%%%% change for pLaTeX (import from \@reinserts in plcore) + \ifvoid\footins\else\insert\footins{% + \iftbox\footins\tate\else\yoko\fi + \unvbox\footins}\fi +%%%%% + \fi} + +\def\@makecol{% +%%%%% change for pLaTeX + \setbox\@outputbox\box\@cclv +%%%%% + \if@firstcolumn + \if@twocolumn \else + \ifvoid\footins \else + \@latexerr{ftnright package + used in one-column mode}% + {The ftnright package was designed to + work with LaTeX's standard^^Jtwocolumn + option. It does *not* work with the + multicol package.^^JSo please specify + `twocolumn' in the + \noexpand\documentclass command.}% + \shipout\box\footins \fi\fi + \ifnum\insertpenalties>\z@ + \@latexerr{ftnright package + scrambled footnotes}% + {There is too much footnote material in + the first column and ftnright^^Jis + unable to cope with this.^^JYou need + to reduce the amount to get a properly + formatted page.}% + \fi + \fi + \xdef\@freelist{\@freelist\@midlist}% + \global \let \@midlist \@empty + \@combinefloats + \ifvbox\@kludgeins + \@makespecialcolbox + \else +%%%%% change for pLaTeX (import from \@makecol in plcore) + \setbox\@outputbox \vbox to\@colht {% + \boxmaxdepth\maxdepth + \@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \iftdir\vbox{\hskip\z@}\fi + \vskip -\dimen@ + \@textbottom + \if@firstcolumn\else + \ifvoid\footins\else % for pLaTeX + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + \fi + \fi + }% +%%%%% + \fi + \global\maxdepth\@maxdepth +} + +%% adjust \footnotesep for vertical typesetting +\AtBeginDocument + {\global\footnotesep\ht\iftdir\tstrutbox\else\strutbox\fi} + +%% restore \@makefntext +\let\@makefntext\pxftn@makefntext + +\endinput |