zref-clever の日本語対応について意見を募りたい

zref-clever の日本語対応について意見を募りたい

- ya ra の投稿
返信数: 0

zref-clever はいくつかの言語に対応するようになっており、v.0.4.8 現在、以下の 8 つの言語に対応しています。

  • 英語
  • イタリア語
  • オランダ語
  • スペイン語
  • ドイツ語
  • フランス語
  • ポルトガル語
  • ロシア語

今回、これに加えて日本語を対応させたいと考えています。

組織やジャーナル、想定される利用状況等によって慣習は異なると思いますが、どの場面であっても奇妙ではないフォーマルな日本語対応を目指したいと考えています。

zref-clever に関する概要は「zref-clever で簡単に相互参照しよう #LaTeX - Qiita」を参照してください。

素案

先に示した Qiita の記事 で示されている日本語対応の例をちょっとだけ変更したものを素案とします。

概ねこの素案で良いと思っていますが、他にご意見を聞きたいと考えています。

\zcDeclareLanguage[allcaps]{japanese}
\zcLanguageSetup{japanese}{
  namesep   = {\nobreak} ,
  pairsep   = {と} ,
  listsep   = {、} ,
  lastsep   = {、および} ,
  tpairsep  = {および} ,
  tlistsep  = {、} ,
  tlastsep  = {、および} ,
  notesep   = {:} ,
  rangesep  = {から} ,
  type = book ,
    Name-sg = 第 ,
    Name-pl = 第 ,
    refbounds = {,,,編} ,
  type = part ,
    Name-sg = 第 ,
    Name-pl = 第 ,
    refbounds = {,,,部} ,
  type = chapter ,
    Name-sg = 第 ,
    Name-pl = 第 ,
    refbounds = {,,,章} ,
  type = section ,
    Name-sg = 第 ,
    Name-pl = 第 ,
    refbounds = {,,,節} ,
  type = paragraph ,
    Name-sg = 第 ,
    Name-pl = 第 ,
    refbounds = {,,,段落} ,
  type = appendix ,
    Name-sg = 付録 ,
    Name-pl = 付録 ,
  type = page ,
    Name-sg = p. ,
    Name-pl = pp. ,
    namesep = ~ ,
    rangesep = \textendash ,
    rangetopair = false ,
  type = line ,
    Name-sg = l. ,
    Name-pl = l. ,
    namesep = ~ ,
    rangesep = \textendash ,
    rangetopair = false ,
  type = figure ,
    Name-sg = 図 ,
    Name-pl = 図 ,
  type = table ,
    Name-sg = 表 ,
    Name-pl = 表 ,
  type = item ,
    Name-sg = 項目 ,
    Name-pl = 項目 ,
  type = footnote ,
    Name-sg = 脚注 ,
    Name-pl = 脚注 ,
  type = endnote ,
    Name-sg = 後注 ,
    Name-pl = 後注 ,
  type = note ,
    Name-sg = 注記 ,
    Name-pl = 注記 ,
  type = equation ,
    Name-sg = 式 ,
    Name-pl = 式 ,
    refbounds-first-sg = {,(,),} ,
    refbounds = {(,,,)} ,
  type = theorem ,
    Name-sg = 定理 ,
    Name-pl = 定理 ,
  type = lemma ,
    Name-sg = 補題 ,
    Name-pl = 補題 ,
  type = corollary ,
    Name-sg = 系 ,
    Name-pl = 系 ,
  type = proposition ,
    Name-sg = 命題 ,
    Name-pl = 命題 ,
  type = definition ,
    Name-sg = 定義 ,
    Name-pl = 定義 ,
  type = proof ,
    Name-sg = 証明 ,
    Name-pl = 証明 ,
  type = result ,
    Name-sg = 結果 ,
    Name-pl = 結果 ,
  type = remark ,
    Name-sg = 注意 ,
    Name-pl = 注意 ,
  type = example ,
    Name-sg = 例 ,
    Name-pl = 例 ,
  type = algorithm ,
    Name-sg = アルゴリズム ,
    Name-pl = アルゴリズム ,
  type = listing ,
    Name-sg = コード ,
    Name-pl = コード ,
  type = exercise ,
    Name-sg = 演習 ,
    Name-pl = 演習 ,
  type = solution ,
    Name-sg = 解法 ,
    Name-pl = 解法 ,
}

前提事項

zref-clever には大きく 2 つの部分で日本語対応が必要になります。

接続助詞:

pairsep 同じカウンタを 2 つ参照する場合の接続助詞
listsep 同じカウンタを 3 つ以上参照する場合の最後以外の接続助詞
lastsep 同じカウンタを 3 つ以上参照する場合の最後の接続助詞
rangesep カウンタを範囲で参照する場合の接続助詞
tpairsep 異なるカウンタを 2 つ参照する場合の接続助詞
tlistsep 異なるカウンタを 3 つ参照する場合の最後以外の接続助詞
tlastsep 異なるカウンタを 3 つ参照する場合の最後の接続助詞
namesep 参照名とカウンタの間
notesep note オプションで追加した参照のノートとの間

カウンタの参照名:

book 編(\bookmemoir 文書クラス等で \part と同じレベルの見出しとして定義される)
part 部(\part
chapter 章(\chapter
section 節(\section
paragraph 段落(\paragraph
appendix 付録(\appendix
page ページ
line 行(memoir 文書クラスの poemlinelistings パッケージの lstnumber に対応)
figure 図(figure 環境)
table 表(table 環境)
item 番号付きリストの項目(enumerate 環境)
equation 数式
footnote 脚注
endnote 後注
note footnoteendnote 以外の注
algorithm アルゴリズム(algorithms パッケージなどのキャプション番号)
listing コード(listings パッケージのキャプション番号)
theorem 定理
corollary
definition 定義
example
exercise 演習
lemma 補題
proof 証明
proposition 命題
remark 注意
result 結果
solution 解法

今回、これらの既定となる日本語構成を考えますが、ユーザーがこれらの個別変更も可能です。 そのため、ある程度多くの人の合意の得られる形になっていれば良いと考えています。

特に知りたいこと

今回、私が本ディスカッションで特に知りたいことは以下の点です。

  • 複数のカウンタを参照した際の接続助詞
  • いくつかのカウンタの参照の仕方
  • 改行を避けた方が良い箇所

複数のカウンタを参照した際の接続助詞

zref-clever では、複数のカウンタを参照する場合、カウンタの間に自動的に接続助詞を挿入します。

cleveref における日本語構成の接続助詞を見ると、以下のようにすることが妥当だと考えられます。

  pairsep   = {と} ,
  listsep   = {、} ,
  lastsep   = {、および} ,
  tpairsep  = {および} ,
  tlistsep  = {、} ,
  tlastsep  = {、および} ,
  rangesep  = {から} ,

また、読点を のどちらにするべきかも疑問の余地があります。どちらの方が好ましいでしょうか。

いくつかのカウンタの参照の仕方

日本語で以下のカウンタを参照する場合の参照の仕方が知りたいです。(添付ファイルと添付画像も参考にしてください)

  • page

    “p.”・“pp.” とするか、“ページ” とするか。

    • 「pp. 1 と 3」、「pp. 1--3」、「pp. 1、3 および 5」
    • 「1 と 3 ページ」、「1--3 ページ」、「1、3 および 5 ページ」

    また、“ページ” とする場合、複数ページの参照のときカウンタそれぞれに “ページ” と当てるべきか。

    • 「1 と 3 ページ」、「1--3 ページ」、「1、3 および 5 ページ」
    • 「1 ページと 3 ページ」、「1 ページから 3 ページ」、「1 ページ、3 ページおよび 5 ページ」
  • line

    “l.” とするか、“行” とするか、“行目” とするか。

    • 「l. 1」、「l. 1--3」、「l. 1、3 および 5」
    • 「行 1」、「行 1--3」、「行 1、3 および 5」
    • 「1 行目」、「1--3 行目」、「1、3 および 5 行目」

    また、page と同じように、複数行を参照するときにそれぞれのカウンタに参照名を当てるべきか。

    • 「1 行目」、「1--3 行目」、「1、3 および 5 行目」
    • 「1 行目」、「1 行目から 3 行目」、「1 行目、3 行目および 5 行目」
  • paragraph

    \paragraph に番号が与えられることは少ないと思いますが、これを参照する場合はどのような参照名にするべきか。

    上の例では「第 1 段落」等となるようにしています。

    \sub(sub)section は「第 1.1 節」のように扱うようになっているため、\paragraph に “項” や “目” を当てることが出来ますが、\paragraph の参照名にこれらを当てるのは不自然かも……

改行を避けた方が良い箇所

素案では参照名とカウンタの間の namesep\nobreak としているのみです。これ以外にも改行を避けるように構成するべき箇所はあるでしょうか。


この他、おかしいと感じたところがあれば教えてください。

この質問の回答に期限は無いのですが、年末くらいにリポジトリに PR を出したいと考えています。


添付 ref-line-image-1.png
添付 ref-page-image-1.png