summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/babel-japanese/japanese.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-12-17 20:42:57 +0000
committerKarl Berry <karl@freefriends.org>2016-12-17 20:42:57 +0000
commitf721a6666851b87d58decd85137c3931d7bf4eda (patch)
tree0b77f3691016c2f6e5818630a1ced26ad80e6963 /Master/texmf-dist/source/generic/babel-japanese/japanese.dtx
parent16bf613671c9c801210b618e549388542875cf89 (diff)
babel-japanese (17dec16)
git-svn-id: svn://tug.org/texlive/trunk@42738 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/generic/babel-japanese/japanese.dtx')
-rw-r--r--Master/texmf-dist/source/generic/babel-japanese/japanese.dtx465
1 files changed, 465 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/babel-japanese/japanese.dtx b/Master/texmf-dist/source/generic/babel-japanese/japanese.dtx
new file mode 100644
index 00000000000..cd25a3f0f8e
--- /dev/null
+++ b/Master/texmf-dist/source/generic/babel-japanese/japanese.dtx
@@ -0,0 +1,465 @@
+% \iffalse meta-comment
+%
+% This file is part of the `japanese' package,
+% providing Japanese language support for Babel.
+%
+% Copyright (C) 1999--2007 by ING (Toru INAGAKI)
+% 2016-- by Japanese TeX Development Community
+%
+% This package 'japanese.dtx' supports the following Babel package:
+%
+% ====================================================================
+%
+% Copyright 2012-2016 Javier Bezos and Johannes L. Braams.
+% Copyright 1989-2012 Johannes L. Braams and any individual authors
+% listed elsewhere in this file. All rights reserved.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is Javier Bezos.
+%
+% ====================================================================
+%
+% \fi
+%
+% ^^A Ensure UTF-8 input encoding for pLaTeX
+% ^^A (effective since e-pTeX 20160201, thus TeX Live 2016)
+\ifx\epTeXinputencoding\undefined\else
+ \epTeXinputencoding utf8
+\fi
+%
+%\iffalse
+% Tell the \LaTeX\ system who we are and write an entry on the
+% transcript.
+%<*dtx>
+\ProvidesFile{japanese.dtx}
+%</dtx>
+%<code>\ProvidesLanguage{japanese}
+%<*!sample>
+%\ProvidesFile{japanese.dtx}
+ [2016/12/16 v2.0 Japanese support for babel (texjporg)]
+%</!sample>
+%\fi
+%
+%\iffalse
+%
+%<*filedriver>
+\ifx\directlua\undefined
+ \documentclass{jltxdoc}
+\else
+ \documentclass{ltjltxdoc}
+\fi
+\GetFileInfo{japanese.dtx}
+\setcounter{StandardModuleDepth}{1}
+\CodelineNumbered
+\MakeShortVerb{\|}
+\OnlyDescription
+\newcommand*\babel{\textsf{babel}}
+\newcommand*\langvar{$\langle \it lang \rangle$}
+%\newcommand*\Lopt[1]{\textsf{#1}}
+%\newcommand*\file[1]{\texttt{#1}}
+\begin{document}
+ \DocInput{japanese.dtx}
+\end{document}
+%</filedriver>
+%
+%\fi
+%
+% \title{Babel-Option {\sffamily japanese} {\Large version \fileversion}}
+% \author{\copyright\ 1999--2007 ING\\ 2016-- Japanese \TeX\ Development Community}
+% \date{\filedate}
+% \maketitle
+% \baselineskip=14pt
+%
+% \section*{The Japanese language}
+%
+% \file{japanese}パッケージは日本語による見出し語と日付を出力するためのマクロを
+% 定義しています。\babel のオプションの最後で日本語を指定します。
+% \begin{quote}
+% |\usepackage[...,japanese]{babel}|
+% \end{quote}
+%
+% バージョンv2.0以降では,p\TeX{}系(p\LaTeX{},up\LaTeX{})に加えて,
+% 新しいUnicodeな\TeX{}エンジン(Xe\TeX{},Lua\TeX{})もサポートしました。
+% このため,ファイルはUTF-8エンコーディングで保存するようにしてください。
+%
+% 2016年以降,本パッケージのメンテナンスは日本語\TeX{}開発コミュニティ
+% (Japanese \TeX\ Development Community)によって行われています。開発版は
+% GitHubリポジトリ
+%\begin{verbatim}
+% https://github.com/texjporg/babel-japanese
+%\end{verbatim}
+% にあります。バグ報告は上記のリポジトリ,またはIssue Mailing List
+%\begin{verbatim}
+% issue@texjp.org
+%\end{verbatim}
+% までお願いします。
+%
+%
+% \section{この文書について}
+%
+% この文書ファイル(\jobname.pdf)自体はp\LaTeX{},up\LaTeX{},Lua\LaTeX{}で
+% 処理できるようになっています。
+%
+%
+% \section{コード}
+%
+% p\TeX{}系(p\LaTeX{},up\LaTeX{})でなく,かつUnicodeな\TeX{}(Xe\LaTeX{},
+% Lua\LaTeX{})でもない場合は,最初にエラーを出します。
+%
+% \begin{macrocode}
+%<*code>
+\ifx\kanjiskip\@undefined\ifx\XeTeXversion\@undefined\ifx\directlua\@undefined
+ \@latex@error{babel-japanese supports one of the followings:\MessageBreak
+ pTeX, upTeX, XeTeX, LuaTeX\MessageBreak
+ It seems you are running unsupported engine!}\@ehc
+\fi\fi\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LdfInit\CurrentOption{captions\CurrentOption}
+% \end{macrocode}
+% \DescribeMacro{\l@japanese}
+% ここでは|\l@japanese|が定義されているか否かを判断し,定義されていれば
+% 日本語用ハイフネーションパターンを読み込みます。
+% \DescribeMacro{\adddialect}
+% しかし,日本語にはハイフネーションパタンが存在しないので
+% |\adddialect|に|\l@japanese|を代入し,\file{language.dat}
+% で最初に指定した言語(言語番号0,通常は英語)のハイフネーションパターンを
+% 使用します。
+%
+% [2016-12-16] 旧バージョン(v1.3)では
+%\begin{quote}\small\begin{verbatim}
+% Package babel Warning: No hyphenation patterns were loaded for
+% (babel) the language `Japanese'
+% (babel) I will use the patterns loaded for \language=0
+% instead.
+%\end{verbatim}\end{quote}
+% という警告が出るのを無視する方針でしたが,新しい\babel では警告が
+% よりうるさくなっていました。
+%\begin{quote}\small\begin{verbatim}
+% Package babel Warning: No hyphenation patterns were preloaded for
+% (babel) the language `Japanese' into the format.
+% (babel) Please, configure your TeX system to add them and
+% (babel) rebuild the format. Now I will use the patterns
+% (babel) preloaded for english instead on input line 47.
+%\end{verbatim}\end{quote}
+% そこで,新しいバージョン(v2.0)からは警告を出さないことにして,代わりに
+% ログファイルにのみInfoを出力します。
+%
+% \begin{macrocode}
+\ifx\l@japanese\@undefined
+% \@nopatterns{Japanese}% comment out (2016-12-16)
+ \PackageInfo{babel}{%
+ No hyphenation patterns are available for Japanese,\MessageBreak
+ so I will use the patterns preloaded for \bbl@nulllanguage\MessageBreak
+ instead}
+ \adddialect\l@japanese0\fi
+% \end{macrocode}
+%
+% \DescribeMacro{\captionsjapanese}
+% |\captionsjapanese|マクロはp\LaTeX{}の標準のクラスファイルで使われる
+% 見出し語を日本語で出力します。\LaTeX{}の標準のクラスファイルでも動作
+% しますが,元が英語用ですので,語順の関係上すべてを日本語化することは
+% できません(たとえば、Part 1→第1部とは変更することは不可能です)。
+%
+% [2016-12-15] 「証明」と「用語集」も日本語化するようにしました。
+% |\postpartname| がタイポで |\postpartnam| になっていたのを直しました。
+%
+% 新しいUnicodeな\TeX{}エンジン(Xe\TeX{},Lua\TeX{})の場合は,
+% UTF-8エンコーディングで直接和文文字を記述します。
+% \begin{macrocode}
+\ifx\kanjiskip\@undefined
+ \def\bbl@jpn@prefacename{前書き}%
+ \def\bbl@jpn@refname{参考文献}%
+ \def\bbl@jpn@abstractname{概要}%
+ \def\bbl@jpn@bibname{参考文献}%
+ %\def\bbl@jpn@chaptername{Chapter}%
+ \def\bbl@jpn@prechaptername{第}% -- added
+ \def\bbl@jpn@postchaptername{章}% -- added
+ \def\bbl@jpn@presectionname{}% 第 -- added
+ \def\bbl@jpn@postsectionname{}% 節 -- added
+ \def\bbl@jpn@appendixname{付録}%
+ \def\bbl@jpn@contentsname{目次}%
+ \def\bbl@jpn@listfigurename{図目次}%
+ \def\bbl@jpn@listtablename{表目次}%
+ \def\bbl@jpn@indexname{索引}%
+ \def\bbl@jpn@figurename{図}%
+ \def\bbl@jpn@tablename{表}%
+ %\def\bbl@jpn@partname{Part}%
+ \def\bbl@jpn@prepartname{第}% -- added
+ \def\bbl@jpn@postpartname{部}% -- added
+ %\def\bbl@jpn@enclname{encl}% 同封物
+ %\def\bbl@jpn@ccname{cc}% Cc
+ %\def\bbl@jpn@headtoname{To}% To(宛先)
+ %\def\bbl@jpn@pagename{Page}% ページ
+ %\def\bbl@jpn@seename{see}% 参照
+ %\def\bbl@jpn@alsoname{see also}% も参照
+ \def\bbl@jpn@proofname{証明}%
+ \def\bbl@jpn@glossaryname{用語集}%
+% \end{macrocode}
+%
+% p\TeX{}系の場合は,UTF-8を読めない可能性があるため,
+% |\kansuji| トリックを使って和文文字の代わりにします。
+%
+% \begin{macrocode}
+\else
+\begingroup
+ \kansujichar1=\jis"4130\relax % 前
+ \kansujichar2=\jis"3D71\relax % 書
+ \kansujichar3=\jis"242D\relax % き
+ \kansujichar4=\jis"3B32\relax % 参
+ \kansujichar5=\jis"394D\relax % 考
+ \kansujichar6=\jis"4A38\relax % 文
+ \kansujichar7=\jis"3825\relax % 献
+ \kansujichar8=\jis"3335\relax % 概
+ \kansujichar9=\jis"4D57\relax % 要
+ \xdef\bbl@jpn@prefacename{\kansuji123}%
+ \xdef\bbl@jpn@refname{\kansuji4567}%
+ \xdef\bbl@jpn@abstractname{\kansuji89}%
+ \xdef\bbl@jpn@bibname{\kansuji4567}%
+ \kansujichar1=\jis"4268\relax % 第
+ \kansujichar2=\jis"3E4F\relax % 章
+ \kansujichar3=\jis"4061\relax % 節
+ \kansujichar4=\jis"4955\relax % 付
+ \kansujichar5=\jis"4F3F\relax % 録
+ \kansujichar6=\jis"3A77\relax % 索
+ \kansujichar7=\jis"307A\relax % 引
+ \kansujichar8=\jis"4974\relax % 部
+ \xdef\bbl@jpn@prechaptername{\kansuji1}%
+ \xdef\bbl@jpn@postchaptername{\kansuji2}%
+ \xdef\bbl@jpn@presectionname{}%
+ \xdef\bbl@jpn@postsectionname{}%
+ \xdef\bbl@jpn@appendixname{\kansuji45}%
+ \xdef\bbl@jpn@indexname{\kansuji67}%
+ \xdef\bbl@jpn@prepartname{\kansuji1}%
+ \xdef\bbl@jpn@postpartname{\kansuji8}%
+ \kansujichar1=\jis"4C5C\relax % 目
+ \kansujichar2=\jis"3C21\relax % 次
+ \kansujichar3=\jis"3F5E\relax % 図
+ \kansujichar4=\jis"493D\relax % 表
+ \kansujichar5=\jis"3E5A\relax % 証
+ \kansujichar6=\jis"4C40\relax % 明
+ \kansujichar7=\jis"4D51\relax % 用
+ \kansujichar8=\jis"386C\relax % 語
+ \kansujichar9=\jis"3D38\relax % 集
+ \xdef\bbl@jpn@contentsname{\kansuji12}%
+ \xdef\bbl@jpn@listfigurename{\kansuji312}%
+ \xdef\bbl@jpn@listtablename{\kansuji412}%
+ \xdef\bbl@jpn@figurename{\kansuji3}%
+ \xdef\bbl@jpn@tablename{\kansuji4}%
+ \xdef\bbl@jpn@proofname{\kansuji56}%
+ \xdef\bbl@jpn@glossaryname{\kansuji789}%
+\endgroup
+\fi
+% \end{macrocode}
+%
+% 実際の命令にこれらをコピーします。
+%
+% \begin{macrocode}
+\@namedef{captions\CurrentOption}{%
+ \let\prefacename\bbl@jpn@prefacename
+ \let\refname\bbl@jpn@refname
+ \let\abstractname\bbl@jpn@abstractname
+ \let\bibname\bbl@jpn@bibname
+ %\def\chaptername{Chapter}%
+ \let\prechaptername\bbl@jpn@prechaptername % -- added
+ \let\postchaptername\bbl@jpn@postchaptername % -- added
+ \let\presectionname\bbl@jpn@presectionname % -- added
+ \let\postsectionname\bbl@jpn@postsectionname % -- added
+ \let\appendixname\bbl@jpn@appendixname
+ \let\contentsname\bbl@jpn@contentsname
+ \let\listfigurename\bbl@jpn@listfigurename
+ \let\listtablename\bbl@jpn@listtablename
+ \let\indexname\bbl@jpn@indexname
+ \let\figurename\bbl@jpn@figurename
+ \let\tablename\bbl@jpn@tablename
+ %\def\partname{Part}%
+ \let\prepartname\bbl@jpn@prepartname % -- added
+ \let\postpartname\bbl@jpn@postpartname % -- added
+ %\def\enclname{encl}% 同封物
+ %\def\ccname{cc}% Cc
+ %\def\headtoname{To}% To(宛先)
+ %\def\pagename{Page}% ページ
+ %\def\seename{see}% 参照
+ %\def\alsoname{see also}% も参照
+ \let\proofname\bbl@jpn@proofname
+ \let\glossaryname\bbl@jpn@glossaryname
+ }
+% \end{macrocode}
+%
+% \DescribeMacro{\datejapanese}
+% |\datejapanese|マクロは日本語で日付を出力するように |\today|コマンドを
+% 再定義します。デフォルトの出力は西暦です。和暦を使用する際は,プリアンブルで
+% |\和暦| を指定するか,本文で |\和暦\today| のように指定します。
+%
+% フラグの準備,平成の計算。
+% \begin{macrocode}
+\newif\ifbbl@jpn@Seireki \bbl@jpn@Seirekitrue
+{\advance\year-1988\relax
+ \xdef\the@heisei{\the\year}}
+% \end{macrocode}
+%
+% Unicodeな\TeX{}エンジン(Xe\TeX{},Lua\TeX{})の場合は,
+% UTF-8エンコーディングで直接和文文字を記述します。
+% \begin{macrocode}
+\ifx\kanjiskip\@undefined
+ \def\西暦{\bbl@jpn@Seirekitrue}%
+ \def\和暦{\bbl@jpn@Seirekifalse}%
+ \def\bbl@jpn@SeirekiToday{%
+ \number\year 年%
+ \number\month 月%
+ \number\day 日}
+ \def\bbl@jpn@WarekiToday{%
+ 平成\the@heisei 年%
+ \number\month 月%
+ \number\day 日}
+% \end{macrocode}
+%
+% p\TeX{}系では |\kansuji| トリックで同じ命令を定義します。
+% \begin{macrocode}
+\else
+\begingroup
+ \kansujichar1=\jis"403E\relax % 西
+ \kansujichar2=\jis"4F42\relax % 和
+ \kansujichar3=\jis"4E71\relax % 暦
+ \expandafter\expandafter\expandafter\gdef
+ \expandafter\csname\kansuji13\endcsname{\bbl@jpn@Seirekitrue}%
+ \expandafter\expandafter\expandafter\gdef
+ \expandafter\csname\kansuji23\endcsname{\bbl@jpn@Seirekifalse}%
+ \kansujichar1=\jis"472F\relax % 年
+ \kansujichar2=\jis"376E\relax % 月
+ \kansujichar3=\jis"467C\relax % 日
+ \kansujichar4=\jis"4A3F\relax % 平
+ \kansujichar5=\jis"402E\relax % 成
+ \xdef\bbl@jpn@SeirekiToday{%
+ \number\year\kansuji1 %
+ \number\month\kansuji2 %
+ \number\day\kansuji3 }
+ \xdef\bbl@jpn@WarekiToday{%
+ \kansuji45 \the@heisei\kansuji1 %
+ \number\month\kansuji2 %
+ \number\day\kansuji3 }
+\endgroup
+\fi
+% \end{macrocode}
+%
+% 実際に使用する命令。
+% \begin{macrocode}
+\@namedef{date\CurrentOption}{%
+ \def\today{%
+ \ifbbl@jpn@Seireki
+ \bbl@jpn@SeirekiToday
+ \else
+ \bbl@jpn@WarekiToday
+ \fi}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@namedef{extras\CurrentOption}{}
+\@namedef{noextras\CurrentOption}{}
+\ldf@finish\CurrentOption
+%</code>
+% \end{macrocode}
+%
+% \section*{謝辞}
+%
+% Babel-Option \Lopt{japanese}の作成に当って,バグフィックスや改良案を
+% ご提案いただいた方に感謝します。
+% bookworm $<$BYV01204$>$さんから,新しい言語を定義し,それに固有の
+% 言語番号を付けるマクロ \verb+\addlanguage+の機能について,詳しい
+% 解説をいただきました。本パッケージでは採用していませんが,\babel
+% の言語切り替え機能を理解する上でたいへん参考になりました。
+% Tony $<$PAG01322$>$さんから,キャプションと日付の定義について
+% ご提案をいただきました。
+% 大石勝 $<$DZH00446$>$さんから,初版に含まれていた \verb+\ifx\undefined+
+% のバグをご指摘いただきました。
+%
+% \section*{変更履歴}
+% \begin{itemize}
+% \item 2005年2月:日付の定義を修正しました。
+% \item 2007年10月:ZRさんからいただいた詳細なご指摘をもとに修正しました。\\
+% \verb|http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/48625.html|
+% \item 2007年12月:ZRさん,ttkさんからいただいたご指摘を反映しました。
+% \item 2016年12月:日本語\TeX{}開発コミュニティが開発を引き継ぎました。
+% 以降の変更履歴は本文中に直接書いてあります。
+% \end{itemize}
+%
+% \StopEventually{}
+%
+% \begin{macrocode}
+%<*sample>
+\ifx\directlua\undefined
+ \documentclass{jbook}
+\else
+ \documentclass{ltjbook}
+\fi
+\usepackage[german,english,japanese]{babel}
+\makeatletter
+\def\tbcaption{\def\@captype{table}\caption{キャプションの例}}
+\def\fgcaption{\def\@captype{figure}\caption{キャプションの例}}
+\makeatother
+\def\yes{--- はい。}
+\def\no{--- いいえ。}
+\def\TEXT{Textverarbeitung mit einem Rechner kann in vielf\"altiger Weise
+erfolgen. Eigenschaften und Leistungsf\"ahigkeit sind hierbei weniger
+vom jeweiligen Rechnertype, sondern vielmehr vom verwendeten
+\textit{Textverarbeitungsprogramm} bestimmt.}
+\def\se{\selectlanguage{english}}
+\def\sj{\selectlanguage{japanese}}
+\def\sg{\selectlanguage{german}}
+\setlength{\hoffset}{-13mm}
+\setlength{\textwidth}{16cm}
+\begin{document}
+
+\chapter{babel}
+\section{japaneseパッケージ}
+japaneseパッケージは日本語による見出し語と日付を出力するためのマクロを
+定義しています。
+
+\fgcaption
+
+\begin{itemize}
+\se
+\item ここで英語(\texttt{english})に変更します。(languageの値は\the\language)
+
+\TEXT
+
+ここは英語? \iflanguage{english}{\yes}{\no}\par
+ここはドイツ語? \iflanguage{german}{\yes}{\no}\par
+ここは日本語? \iflanguage{japanese}{\yes}{\no}
+
+※ \verb:\adddialect\l@japanese0: と設定しているため,日本語?も「はい」となります。
+
+\sg
+\item ここでドイツ語(\texttt{german})に変更します。(languageの値は\the\language)
+
+\TEXT
+
+ここは英語? \iflanguage{english}{\yes}{\no}\par
+ここはドイツ語? \iflanguage{german}{\yes}{\no}\par
+ここは日本語? \iflanguage{japanese}{\yes}{\no}
+
+※ ハイフネーションがドイツ語―旧正書法―に切り替わっている点に注目。
+なお,新正書法(\texttt{ngerman})では\texttt{Leis-tungs-f\"a-hig-keit}のように分綴します。
+
+\sj
+\item ここで日本語(\texttt{japanese})に変更します。(languageの値は\the\language)
+\tbcaption
+\item \verb:\和暦: は日付の表示をデフォルトの西暦「\today 」から和暦「\和暦\today 」に変更します。
+\end{itemize}
+\end{document}
+%</sample>
+% \end{macrocode>
+%
+% \Finale
+%
+\endinput