diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/plautopatch/plautopatch.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/plautopatch/plautopatch.tex | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/plautopatch/plautopatch.tex b/Master/texmf-dist/doc/latex/plautopatch/plautopatch.tex new file mode 100644 index 00000000000..58b514d8834 --- /dev/null +++ b/Master/texmf-dist/doc/latex/plautopatch/plautopatch.tex @@ -0,0 +1,126 @@ +%# -*- coding: utf-8 -*- +\ifx\epTeXinputencoding\undefined\else % defined in e-pTeX (> TL2016) + \epTeXinputencoding utf8 % ensure utf-8 encoding for platex +\fi + +\documentclass[a4paper]{jsarticle} +\usepackage{doc} +\usepackage{plautopatch}% load this here to make \GetFileInfo work +\GetFileInfo{plautopatch.sty} +\title{Package \textsf{plautopatch} \fileversion} +\author{Hironobu Yamashita} +\date{\filedate} +\begin{document} + +\maketitle + +Japanese p\LaTeX/up\LaTeX\ formats and packages often conflict +with other \LaTeX\ packages which are aware of p\LaTeX/up\LaTeX. +In the worst case, such packages throw an fatal error or +end up with a wrong output. + +The goal of this package \textsf{plautopatch} is that +there is no need to worry about such incompatibilities, +by automatically loading specific patches +when they are necessary. +This helps not only to simplify source files, but also +to make the appearance of working p\LaTeX/up\LaTeX\ sources +similar to that of ordinally \LaTeX\ ones. + +The package is maintained on GitHub: +\begin{verbatim} + https://github.com/aminophen/plautopatch +\end{verbatim} + +\section*{Requirements} + +This package depends on \textsf{filehook} package, +written by Martin Scharrer. + +\section*{Usage} + +Load this package at the very beginning of the \LaTeX\ source. +It is strongly recommended to use +\verb+\RequirePackage{plautopatch}+ +before \verb+\documentclass+ or any other commands, +as such other classes and packages may load +some problematic packages internally. + +Here is an example: +\begin{verbatim} + %\RequirePackage{plautopatch} + \documentclass{tarticle}% vertical writing (requires plext) + \usepackage{array}% incompatible with plext + \begin{document} + ... + \end{document} +\end{verbatim} +In the above example, the class \textsf{tarticle} internally +requires the package \textsf{plext}. +However, \textsf{array} explicitly required by \verb+\usepackage+ +conflicts with \textsf{plext}. +By using \verb+\RequirePackage{plautopatch}+, +\textsf{plextarray} is automatically loaded and the problem goes. +The list of automatically-loaded packages is shown at +\verb+\end{document}+: +\begin{verbatim} +***** List of packages loaded by `plautopatch': ***** + plextarray. +***************************************************** +\end{verbatim} +When multiple packages are loaded, they are all printed +as a list separated by commas and spaces. + +\section*{List of currently available patches} + +\def\ITEMoo#1 (#2) -> #3 (#4){% + \item \textsf{#1} (\textsf{#2})\\ + $\rightarrow$ \textsf{#3} (\textsf{#4})} +\def\ITEMooo#1 (#2) + #3 (#4) -> #5 (#6){% + \item \textsf{#1} (\textsf{#2}) + \textsf{#3} (\textsf{#4})\\ + $\rightarrow$ \textsf{#5} (\textsf{#6})} +\def\ITEM#1 -> #2 {% + \item \textsf{#1}\\ + $\rightarrow$ \textsf{#2} } + +The legend: +\begin{itemize} +\item \texttt{<original package>} (\texttt{<bundle name of original package>})\\ + \texttt{<patch package>} (\texttt{<bundle name of patch package>}) +\end{itemize} + +Current version (\filedate\space\fileversion) supports the followings: +\begin{itemize} +\ITEMoo tracefnt (latex) -> ptrace/uptrace (platex/uplatex) +\ITEMoo fltrace (latex) -> pfltrace (platex) +\ITEMoo array (latex-tools) -> plarray (platex-tools) +\ITEMooo array (latex-tools) + plext (platex) -> plextarray (platex-tools) +\ITEMooo delarray (latex-tools) + plext (platex) -> plextdelarray (platex-tools) +\ITEMoo everysel (ms) -> pxeverysel (platex-tools) +\ITEMoo everyshi (ms) -> pxeveryshi (platex-tools) +\ITEMoo atbegshi (oberdiek) -> pxatbegshi (platex-tools) +\ITEMoo ftnright (latex-tools) -> pxftnright (platex-tools) +\ITEM pdfpages -> pxpdfpages (maintained here!) +\end{itemize} +Note that, of course, the list may be adjusted +(addition, deletion or replacement) +in the future to get the expected result. +Feel free to report some compatibility issue or request changes! + +\section*{Disabling a specific patch} + +By default, \texttt{<patch package>} is automatically loaded when +\texttt{<original package>} is detected, following the whole list. +However, there is still a possibility of another regression issue. +In that case, you can disable the detection of +\texttt{<original package>} by using the command: +\begin{verbatim} + \plautopatchdisable{<original package>} +\end{verbatim} +If you want to disable multiple packages, you can give +a comma-separated list of them: +\begin{verbatim} + \plautopatchdisable{<original package 1>,<original package 2>} +\end{verbatim} + +\end{document} |