テキスト批評とは
テキスト批評(textual criticism)は、複数の写本や版本に残されたテキストの異同を比較・分析し、原テキスト(あるいは最善のテキスト)を復元しようとする学問的営みです。古典文学、聖書学、古文書学などの分野で長い伝統を持ち、デジタル環境においてもその重要性は変わりません。
校異装置(critical apparatus)は、テキスト批評の成果を体系的に記録したものです。底本(lemma)と他の写本の異読(reading)を対応付け、どの写本にどのような読みがあるかを提示します。
筆者は校異源氏物語テキストDBの構築を通じて、TEIによる校異情報の記述を実践してきました。この経験に基づいて、本章では校異装置の記述方法を解説します。
筆者の校異源氏物語プロジェクト
筆者は校異源氏物語のテキストデータをTEI/XMLで構造化し、公開するプロジェクトに取り組んでいます。このプロジェクトでは、複数の写本間の異同をTEIの<app>要素で記録し、DTS(Distributed Text Services)APIを通じて配信しています。
- 校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIを作成する
- 校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIのGitHubリポジトリ
- 校異源氏物語テキストDBに対する検索を行うAPIサーバの構築
- 校異源氏物語テキストDBのDTS(Distributed Text Services) APIの更新
また、デジタル源氏物語における校異源氏物語と現代語訳の対応づけでは、校異情報を含むTEI/XMLと現代語訳の対応づけについて解説しました。
校異装置の基本要素
app(異同箇所)
<app>(apparatus entry)は、テキスト中で異同が存在する箇所を表します。
lem(底本の読み)
<lem>(lemma)は、底本として採用された読みを表します。
rdg(異読)
<rdg>(reading)は、他の写本における異なる読みを表します。
基本的な構造は以下のとおりです。
<app>
<lem wit="#A">花</lem>
<rdg wit="#B">華</rdg>
<rdg wit="#C">はな</rdg>
</app>
wit 属性(witness)は、その読みを持つ写本を指定します。
校異の記述方法
TEIでは校異情報の記述方法として、主に3つの方式が定義されています。
インライン方式(Location-referenced method)
テキスト本文の中に直接 <app> を埋め込む方式です。最も直感的な方式です。
<p>ゆく河の流れは
<app>
<lem wit="#A">絶えずして</lem>
<rdg wit="#B">たえずして</rdg>
<rdg wit="#C">絶ずして</rdg>
</app>、しかも
<app>
<lem wit="#A">もとの水</lem>
<rdg wit="#B">本の水</rdg>
</app>にあらず。</p>
ダブルエンドポイント方式
校異情報をテキスト本文とは分離して記述し、アンカー要素で位置を特定する方式です。
<!-- テキスト本文 -->
<p>ゆく河の流れは<anchor xml:id="a1"/>絶えずして<anchor xml:id="a2"/>、
しかも<anchor xml:id="a3"/>もとの水<anchor xml:id="a4"/>にあらず。</p>
<!-- 校異情報 -->
<div type="apparatus">
<app from="#a1" to="#a2">
<lem wit="#A">絶えずして</lem>
<rdg wit="#B">たえずして</rdg>
</app>
</div>
パラレルセグメンテーション方式
各写本のテキストを並列に記述する方式です。
<app>
<rdg wit="#A">絶えずして</rdg>
<rdg wit="#B">たえずして</rdg>
<rdg wit="#C">絶ずして</rdg>
</app>
この方式では <lem> を使わず、すべての読みを <rdg> として並列に扱います。筆者の校異源氏物語プロジェクトでは、このパラレルセグメンテーション方式を採用しています。
編集距離による異読の定量化
校異箇所の異同を定量的に分析するために、編集距離(レーベンシュタイン距離)を活用することができます。筆者はapp要素を含むTEI/XMLファイルに対して、編集距離を算出するプログラムを作成しました。で、<app>要素内の各読みの間の編集距離を自動的に算出するプログラムを紹介しています。
また、校異源氏物語に対する類似テキスト検索アプリを作成しました。では、校異源氏物語のテキストに対する類似検索アプリを開発した経験を紹介しています。
証人(Witness)の定義
校異装置で参照する写本は、<sourceDesc> 内の <listWit> で定義します。
<sourceDesc>
<listWit>
<witness xml:id="A">
<msDesc>
<msIdentifier>
<settlement>東京</settlement>
<repository>国立国会図書館</repository>
<idno>WA7-123</idno>
</msIdentifier>
<p>鎌倉時代写本。全10巻。</p>
</msDesc>
</witness>
<witness xml:id="B">
<msDesc>
<msIdentifier>
<settlement>京都</settlement>
<repository>京都大学附属図書館</repository>
<idno>貴重書456</idno>
</msIdentifier>
<p>室町時代写本。青表紙本系統。</p>
</msDesc>
</witness>
</listWit>
</sourceDesc>
校異情報の可視化とLaTeX変換
校異情報をPDFとして出力するには、LaTeXのreledmacパッケージを活用する方法があります。筆者はTEI Critical Apparatus Toolboxを用いてTEI XMLをLaTeXに変換してみるで、TEI Critical Apparatus Toolboxを使った変換方法を紹介しています。また、校異源氏物語テキストDBのTEI/XMLからPDFを作成するでは、XSLTを使ってTEI/XMLからLaTeXを経由してPDFを生成する具体的な手順を解説しています。
Versioning Machineも校異情報の可視化ツールとして有用です。筆者はVisual Studio Code(VSCode)でVersioning Machine(VM5.0)を使用するで、VSCodeを使ったVersioning Machineの利用方法を紹介しています。
完成例
以下に、校異情報を含む完成した TEIドキュメントの例を示します。
<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>方丈記校異テスト</title>
<editor>山田太郎</editor>
</titleStmt>
<publicationStmt>
<p>TEI学習用サンプル</p>
</publicationStmt>
<sourceDesc>
<listWit>
<witness xml:id="K">大福光寺本</witness>
<witness xml:id="M">前田家本</witness>
<witness xml:id="R">流布本</witness>
</listWit>
</sourceDesc>
</fileDesc>
<encodingDesc>
<variantEncoding method="parallel-segmentation"
location="internal"/>
</encodingDesc>
</teiHeader>
<text>
<body>
<p>ゆく河の
<app>
<lem wit="#K">流は</lem>
<rdg wit="#M">ながれは</rdg>
<rdg wit="#R">流れは</rdg>
</app>
<app>
<lem wit="#K">絶ずして</lem>
<rdg wit="#M #R">絶えずして</rdg>
</app>、しかも
<app>
<lem wit="#K">もとの水に</lem>
<rdg wit="#M">本の水に</rdg>
<rdg wit="#R">もとの水に</rdg>
</app>あらず。</p>
</body>
</text>
</TEI>
まとめ
本章では、TEIの textcrit モジュールが提供する校異装置の記述方法を学びました。<app>, <lem>, <rdg> による異同の記録、3つの記述方式の使い分けについて解説しました。
筆者の校異源氏物語プロジェクトのように、大規模な校異情報をTEI/XMLで管理し、DTS APIを通じて配信し、さらにPDFやWeb上のビューアで可視化するという一連のワークフローを構築することが可能です。デジタル校訂版は、印刷媒体では実現できなかった動的なテキスト再構成や異読の検索を可能にします。
次章では、写本・資料の物理的な記述について学びます。
関連記事
- デジタル源氏物語における校異源氏物語と現代語訳の対応づけ
- 校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIを作成する
- 校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIのGitHubリポジトリ
- 校異源氏物語テキストDBに対する検索を行うAPIサーバの構築
- 校異源氏物語テキストDBのDTS(Distributed Text Services) APIの更新
- 校異源氏物語・本文テキストデータリポジトリで公開しているTEI/XMLを一部更新しました。
- app要素を含むTEI/XMLファイルに対して、編集距離を算出するプログラムを作成しました。
- 校異源氏物語に対する類似テキスト検索アプリを作成しました。
- 校異源氏物語テキストDBのTEI/XMLからPDFを作成する
- TEI Critical Apparatus Toolboxを用いてTEI XMLをLaTeXに変換してみる
- Visual Studio Code(VSCode)でVersioning Machine(VM5.0)を使用する
- 二つのテキスト間の差分を抽出するプログラムを作成しました。