文章作成システムの提案

日付:2024-05-02

名前:小林 大輔

学生番号:HT12A038

指導教員:兼宗 進

年度:2014

所属:総合情報学部 メディアコンピュータシステム学科

概要とは
概要とは

~研究背景

本学のメディアコンピュータシステム学科の卒業論文はTeXで記述している 初学者がTeXを記述するのは簡単ではない 命令が多く、文章作成のみに集中できない

TeX

先行研究

「Wiki2LaTeXフィルターの開発」

→文章作成への集中と作業効率が向上

~提案

Pukiwiki記法で記述可能な文章作成システムの開発

pukiwiki記法

Wikiを記述する際に使用する言語

論文作成に必要な項目

タイトル著者
日付箇条書き
目次見出し
章立てラベル
参照数式
フォントサイズフォントの色
付録コメントアウト
下線ページ番号の設定

~研究内容

LaTeX を扱うのは容易ではなく負担がかかるため、今回は直感的に表などの作成が可能である「pukiwiki記法」を用いて、それをTeX形式に変換することでユーザの負担を軽減することは出来ないかと考えた。

動作方法

上記を図に示したものが図【【】】である

activity.png
(名前,【】)

対応の仕方

今回pukiwikiのページを扱う利点としては、プレビュー時にpdfにした時のイメージが掴める、という点である。しかし、PukiwikiとLaTeXではそれぞれ利用目的が違うため、対応する項目は限られている。今回はそれぞれの項目の対応から行った。

対応時に考えたのは、プレビュー時にどれだけ自然に見せることができるか、という点である。 まず、LaTeX で文章作成を行う際に頻出する項目をリストアップしPukiwikiとの対応表を作成した 図【【】】に示す。

\\#ref(list.png)

LaTeXに存在し、Pukiwikiに存在しない項目についてはプレビュー時に、pdfにした時にどうなるのか明確に理解できれば意味が異なる項目でもそれを使用し対応させている。

PukiwikiとLaTeX、お互いに対応する語が存在しない項目をリストアップし、Webブラウザ上(pukiwiki)で様々な項目を使用しプレビューを行いながら対応付けを行った。 全ての項目を対応させるのは困難な為、今回の研究では論文を作成する際に一般的に使用すると思われる項目と卒業論文に使用するであろう項目に絞り対応付けを行う。 下記は一般的に使用すると思われる項目である。

下記は卒業論文のサンプルに記述されていたため、特別に必要であると思われる項目である。

例えば、LaTeX には「章立て」という項目があるが、Pukiwiki記法には「章立て」という項目はなく「見出し」しかない、そのため自身で項目を考え対応させる必要があった。Pukiwiki上では「*」を使用しなければ目次に表示されない為、見出しと章立てで同様に「*」を用いた記述方法にするようにした。しかし、pukiwiki記法では「***(LaTeXでいう\subsubsection)」までしか対応されていない。そのため、文頭に「*」と記述すると「章立て」とし、「見出し」と区別するようにした。

編集画面画像

他にも、Pukiwkiには文章や画像・表などにラベルを付け、参照するという記述法はなくそれぞれにアンカーやリンクを付けるといった項目しかない。 対応する項目がない場合は難しく、Pukiwikiのページ上・文章中に存在しても違和感がなく、尚且つ、文章作成中に確実に使用しない記号を使用する必要があった。 今回、ラベル(\label)と参照(\ref)にはすみつきカッコ(【】)を用いた()。

ラベルと参照

LaTeXは「プリアンブル」と呼ばれるインクルードファイルのようなものをテキストファイルに記述しなければコンパイルすることが出来ないため、今回は卒業論文で使用するプリアンブルを変換プログラムにかけた際に自動で付与している()。

プリアンブルの付与

論文を印刷した際に、ページ番号がついていないと非常に見にくくなってしまう。しかしPukiwiki記法はWebページを作成する言語なので、ページ番号を付与させるような命令はない。そのため、TeX形式に変換した際に特定のコマンドの前後にページ番号などの命令を付与させるようにした。

画像

プログラムの処理

  1. 記号を判別し、対応する命令\begin{itemize}を出力する(変数の値が0の場合)
  2. 文頭の記号をを\itemに変換し変数の値を+1する
  3. 文頭に対応する記号が無い行かつ変数の値が0以上であればと命令\end{itemize}を出力する

リスト無画像

箇条書きや表組、画像貼り付け等、LaTeX側で複数行に渡り命令をする場合は図のような処理方法を行っている。

その他のタイトル(\title)や目次(\tableofcontents)等、一行で判別が可能な命令については図\ref{pl2}のように、文頭や文中に特定の項目がが存在した際に\LaTeX の命令に変換している。

タイトルと目次の画像

Pukiwikiではページ更新をした際に、*(見出し)を使用した文末にアンカーが付属してしまう(図)。そのままTeX形式に変換しターミナルなどでコンパイルするとエラーが出てしまうためTeX形式へ変換する際にそのアンカーを削除する必要があった。

ページ更新前後の比較

~評価実験

~まとめ

PukiWiki記法からTeX形式に変換するシステムの開発

課題

見直し

終わりに

~謝辞


~付録


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS