VS CodeとTeX Live

VS CodeとTeX Live #

VS Code (Visual Studio Code) はMicrosoftが 開発しているWindows、Linux、macOS、web用のソースコードエディタである。

まずは、toyjack’blogoの vscodeでlualatex を参照する。

ポイントは次の2点。

  1. latexmkを利用するため.latexmkrcを設定。
  2. VS Codeのプラグイン(LaTeX Workshop)とsettings.jsonの設定。

LaTeX、LuaLaTeXの日本語組版の参考記事 #

参考になりそうな記事やテンプレートがあるサイト。

jlreqのテンプレート #

訓点語学会の機関誌『訓点語と訓点資料』のスタイル・ファイルは上記した 『訓点語と訓点資料』用スタイル・ファイルのkunj2e11.styが参考になる。 その仕様は次にようになっている。

  1. ページのレイアウト
  2. 論文題目・著者名の設定(\title、\author、\maketitle)
  3. 注番号表示(\chuu)
  4. 論文末注釈一覧形式(chuulist 環境)
  5. 凡例一覧形式(hanrei 環境)
  6. 参考文献一覧形式(shomeilist 環境)
  7. 丸括弧による注記(ポイントを落として表示する。\skakko)

しかしそのままでは、LuaLaTeXで使うことができない。 そこで、同様のことができるようにしてみたい。

『訓点語と訓点資料』は、B5判2段組縦書きである。 論文執筆者は、A4判で印刷したものを所定の台紙に貼り付けて、 提出すると、B5判に縮小して印刷するという方式である。 以下は、LuaLaTeXでjlreqを使うための設定の備忘録である。

jlreqの説明がわかりやすい。

ページのレイアウト(基本版面) #

まず、documentclassで基本版面を設定する。

これは『訓点語と訓点資料』スタイル・ファイル(kunj2e11.sty)の仕様

高山寺典籍文書綜合調査団の『研究報告論集』の仕様をベースにして みる。

  • A4判 マージン上端・下端・左端・右端とも各24mm
  • 題目・氏名段抜き(一段組) 5行取り 題目18ポ 著者氏名14ポ
  • 本文原則2段組25行取り 1行30字詰(11ポ) 段間14㎜

実際の設定。

\documentclass[
lualatex,                   % lualatexを使う
report,                     % デフォルトは横書きのarticle相当
                            % report、book、ltjtarticleもある。
                            % 縦書き論文はtateを指定するだけでもよい。
tate,                       % 縦書き、デフォルトは横書き
oneside,                    % 奇数/偶数ページを同じレイアウト、articleとreportでのデフォルト
%twoside,                   % 奇数/偶数ページを異なるレイアウト、bookでのデフォルト
notitlepage,                % 標題・概要のページの設定、bookはtilepageがデフォルト、それ以外はnotitlepage
twocolumn,                       % 二段組、onecolumnがデフォルト
paper=a4,                        % 用紙サイズ
fontsize=11pt, jafontsize=11pt,    % フォントサイズ、ptでの設定
%fontsize=13Q, jafontsize=13Q,    % フォントサイズ、Qでの設定
line_length=30zw,                % 一行の文字数(zw=全角一文字の幅)
number_of_lines=25,              % 行数
gutter=24mm,                     % ノド側の余白
column_gap=14mm,                 % 段と段の空白
head_space=24mm,                 % 天の余白(天/地どちらか一方を指定)
%foot_space=24mm,                 % 地の余白
baselineskip=1.7zw,              % 行送り、デフォルトはjafontsizeの1.7倍
headfoot_verticalposition=1.5zw, % ノンブルと本文の間の空白
hanging_punctuation]             % ぶら下げ、組み方
{jlreq}

論文題目・著者名の設定 #

論文題目・著者は段抜き(一段組)5行取りで、題目は18pt、著者氏名は14ptである。

文字サイズと文字サイズの変更命令は次のようである。

変更命令 10pt 11pt 12pt
\tiny 5 6 6
\scriptsize 7 8 8
\foootnotesize 8 9 10
\small 9 10 11
\normalsize 10 11 12
\large 12 12 14
\Large 14 14 17
\LARGE 17 17 20
\huge 20 20 25
\Huge 25 25 25

\normalsizeがデフォルトである。

高山寺典籍文書綜合調査団の『研究報告論集』の仕様とすると、 本文11pt、 論文題目18ptは、\LARGEの17ptか\hugeの20ptが近い。 著者氏名14ptは \Largeと同じになる。

『訓点語と訓点資料』スタイル・ファイル(kunj2e11.sty)の仕様とすると、 本文11pt、 論文題目は\Hugeで20pt、 著者氏名\LARGEで17ptになる。

とりあえず、kunj2e11.styに近い設定として、次のようにしてみた。

\makeatletter
\def\@maketitle{
    \vspace{1.5\zw}
    \begin{flushleft}
        {\huge  \@title \par}  
        \vspace{0.5em}  
    \end{flushleft}
    \begin{flushright}
        {\Large \@author   }
    \end{flushright}
    \par      
    \vspace{2\zw}  
}

注番号表示 #

jlreqには、注の形式が複数用意されている。

  • 脚注 \footnote(縦組みでは傍注)
  • 傍注 \sidenote(縦組みでは脚注)
  • 後注 \endnote(注自身の出力は見出し直前)

後注の\endnoteは、デフォルトでは\sectionの最後 に出力される。

\jlreqsetupにendnote_positionを渡すことで制御できる。

\jlreqsetup{
endnote_position={_chapter,_section}
}

注は、(1)の形式で出力される。

endnote_position={_chapter,_section}とすると、 \chapterと\sectionの直前に出力。

本文と参考文献の間に注の一覧を付ける場合は、 \theendnotesで挿入箇所を指定してやればよい (endnote_positionの指定はいらない)。

参考文献一覧形式 #

『訓点語と訓点資料』スタイル・ファイル(kunj2e11.sty)の仕様では 残りは次の三つである。

  • 凡例一覧形式(hanrei 環境)
  • 参考文献一覧形式(shomeilist 環境)
  • 丸括弧による注記(ポイントを落として表示する。\skakko)

凡例一覧形式は、enumerate環境、またはlist環境を設定することで 対応する。

丸括弧による注記(ポイントを落として表示する)のは、ポイントを 落とさない方式もあるので、後回しにする。

参考文献一覧形式と丸括弧による注記は、bibtexで対応できる。

プリアンブルに次を記載してnatbib.styを読み込む。

% bibtexで参考文献を作成する場合に必要
\usepackage{natbib}

論文末尾の参考文献の見出しがBibliographyと表示されることがある。 その時は、次のように明示的に指定すればよい。 文書クラスのreportを仕様しているので、bibnameを指定している。

% bibtexで参考文献を作成する場合に必要
\usepackage{natbib}
%\renewcommand{\refname}{参考文献} % 論文型クラスの場合
\renewcommand{\bibname}{{\Large 参考文献}} % 書籍/報告書型クラスの場合

文字サイズが気に入らないときは、適宜変更する。ここでは\Largeにした。

\end{document}の前あたりで、使用する論文のstyleと 論文一覧のbibファイルを指定する。

\bibliographystyle{tate} % 論文のスタイル・ファイル
\bibliography{tate}      % 使用するbibファイル

\bibliographystyleは拡張子がbst、 \bibliographyは拡張子がbibになる。

bstファイルは、英語文献用のものはたくさんあるが、日本語用は 多くない。ここでは、jecon.bstを使う。 jecon.bstは、経済学用のBibTeXスタイル・ファイルである。 これをカスタマイズして使う。ファイル名は任意のものでよい。 ここではtate.bstとした。

bibファイルは、次のような形式のファイルである。

@article{池田証寿1995図書寮本類聚名義抄と類音決,
author = {池田, 証寿},
title = {図書寮本類聚名義抄と類音決},
journal = {訓点語と訓点資料},
publisher = {訓点語学会},
year = {1995},
volume = {96},
number = {},
pages = {26--37},
Yomi = {いけだしょうじゅ},
}
@incollection{池田証寿2020高山寺の古辞書音義,
author = {池田, 証寿},
booktitle = {高山寺経蔵の形成と伝承},
editor = {高山寺典籍文書綜合調査団},
isbn = {9784762936463},
pages = {79--98},
publisher = {東京:汲古書院},
title = {高山寺の古辞書音義},
year = {2020},
Yomi = {いけだしょうじゅ},
}

jecon.bstではyomiのフィールドがあって、これをキーにして 日本語の五十音順に並べ替えることができる。

注と参考文献の順序 #

人文系の論文では、本文の後に「注」が来て、最後に 「参考文献」のリストを記載することが多い。

本文と参考文献の間に注の一覧を付ける場合は、 \theendnotesで挿入箇所を指定してやればよい (endnote_positionの指定はいらない)。

(注)や〈注〉などの見出しは、適宜付け加え、 行間も\vspace{}で調整する。

翻刻本文の作成 #

花園明朝とグリフウィキ #

花園明朝が使えるように設定。

\usepackage{luatexja-fontspec}
% BMPはHanaMinA, SIPはHanaMinB, ただし可能ならIPAexMincho
% で置き換える, という設定
\setmainjfont[AltFont={
  {Range="20000-"2FFFF, Font=HanaMinB},
  {Range="0080-"FFFF, Font=IPAexMincho},
}]{HanaMinA}
% 花園明朝AFDKO版 2017-06-20

グリフウィキが使えるように設定。

% グリフウィキを使うのにも必要
\usepackage[luatex]{graphicx}

% グリフウィキで登録された漢字字形を利用,lualatexで使用
% texソース・ファイルと同じフォルダにbxglyphwiki.luaをおいておくこと
\usepackage[luatex]{bxglyphwiki}
% 書式例 \GWI{zihai-021005}

bxglyphwiki.styは他のスタイル・ファイルと相性が 悪いことがあるらしい。うまく行かないときは、 他のスタイル・ファイルを外したり、順序を入れ替えたり、 調整してください。

sfkanbunパッケージ (漢文) sfkanbun.sty #

藤田眞作氏作成のスタイルファイルを利用する。

TeX/LaTeX Applications by Shinsaku Fujitaの「縦組パッケージファイル」から入手する。

そのままではLuaLaTeXで使えないので、Re: LuaLaTeXで漢文の訓点を使いたいを参考にして手を加える。

また、\nointerlineskipの前に\parを追加しておいたほうがよさそうである。

ファイル名はsfkanbun.styのままでもよいが、紛らわしくなる可能性があるので、 sfkanbun-lua.styにリネームしておく。

sfkanbun.styの内部処理で必要になるjdkintou.styも 上記した藤田眞作氏のサイトから入手して、 同じフォルダに入れておく。

kunten2e.styでは\sougyou(双行)で指定する。 これに対してsfkanbun.styでは\tagyobox(多行割)で指定する。

kunten2e.styの \sougyouで作成したTeXファイルが多いので、 \sougyouで\tagyoboxが使えるように設定する。

また、kunten2e.styの \hukusougyou(複双行)は\fukutagyobox(複多行割) が使えるように設定する。

\usepackage{sfkanbun-lua}
% 多行割(kunten2e.styのsougyouに対応させる)
% 文字の大きさ\scriptsize(可変)
% \tagyobox{項目1 \\ 項目2 \\ ...}
\newcommand{\sougyou}[2]{\tagyobox{#1 \\ #2}}
% 複多行割(kunten2e.styのhukusougyouに対応させる)
\newcommand{\hukusougyou}[2]{\fukutagyobox{#1 \\ #2}}

次は入力例。

新字鏡云醍𨟾\sougyou{同勅礼反}{平下酒也}醐餬\sougyou{同侯孤}{反䬫餬□}\\
	玉篇云醍\sougyou{他禮切酒紅色}{又音提 } 醐 \sougyou{戸吾切}{醍醐也} 䣫𨟾 \sougyou{上音离下}{音秖乳腐}\\

漢文の訓点文の組版から、 藤田眞作氏のサンプルを少しご覧に入れる。

顔淵・季路\kundoku{侍}{}{ス}{}(。)
\kundoku{曰}{}{ハク}{}(、)
\kundoku{盍}{なん}{ゾ}{三}<ルト>
\ninojiten\kundoku{言}{}{ハ}{二}
\kundoku{爾}{なんぢ}{ノ}{}
\kundoku{志}{}{ヲ}{一}(。)

書式は次のとおり。

\kundoku[制御]{親文字}{ルビ}{送りがな}{返り点}[肩返り点](句読点)

これでかなりのことができそうである。

次はその例である。

{\large 後} \tagyobox{\vspace{0.5\zw}
    \kundoku{后}{\}{}{}六 \\ \vspace{0.5\zw} 
    \kundoku{ノ}{\}{}{}チ 
    \kundoku{ウ}{\}{}{}シロ 
    \kundoku{シ}{\}{}{}リへ \vspace{0.5\zw} \\ 
    \kundoku{オ}{\}{}{}ク\kundoku{レ}{ル}{}{} タリ 
    \kundoku{オ}{\}{}{}クラ\kundoku{ス}{レ}{}{} \vspace{0.5\zw} \\ 
    \kundoku{オ}{\}{}{}コタル 
    \kundoku{オ}{\}{}{}ソシ 
    \kundoku{禾}{\}{}{}コ\kundoku{オ}{レ}{}{} \vspace{0.5\zw} \\ 
         \kundoku{𢓵}{\}{}{}
    }

そうすると、次のように組み上がる。

古辞書「後」の翻字

訓点資料用スタイル・ファイル kunten2e.sty #

ここまでやってきて、2005年頃に作成したTeXの ファイルを見ると、newcommnadで定義し直すのが 面倒になってきた。

2005年頃のファイルは、金水敏氏のkunten2e.styを 使っているので、コマンドはそのまま使えるように 検討してみた。

どうやら、 金水敏氏のkunten2e.styをLuaLaTeXで使うには変更が必要のようである。

次のような変更を加えた。

\kanjiskip --> \ltjgetparameter{kanjiskip}
\xkanjiskip --> \ltjgetparameter{xkanjiskip}
zw --> \zw
zh --> \zh

他に変更が必要な箇所があるかもしれないが、当面はこれで進める。

ファイル名は、kunten2e-lua.styに変更した。

sfkanbun.styでは次の変更も行った。

\nointerlineskip --> \par\nointerlineskip

kunten2e.styでは該当箇所がない。