CENTER:''文章作成システムの提案'' 日付:&_date; 名前:小林 大輔 学生番号:HT12A038 指導教員:兼宗 進 年度:2014 所属:総合情報学部 メディアコンピュータシステム学科 概要とは 概要とは #contents *~研究背景 [#ua957d36] 本学のメディアコンピュータシステム学科の卒業論文はTeXで記述している 初学者がTeXを記述するのは簡単ではない 命令が多く、文章作成のみに集中できない TeX -文章作成ソフト -マークアップ言語 -文章をコマンドで囲む -数式が綺麗に記述可能 -ラベル・参照が可能 -表・図・数式・章・ページ・文献 *先行研究 [#u42eb95b] 「Wiki2LaTeXフィルターの開発」 -吉井了平(関西学院大学) 目的 -文章作成に必要で頻出する命令の入力の軽減 -PukiWiki記法をTeX命令へ変換 -既存のフィルターである「pukipa.rb」を改良 -機能を新たに追加 →文章作成への集中と作業効率が向上 -しかし図や表などの命令には未対応 -卒業論文の作成には適してない *~提案 [#kdef7ab8] Pukiwiki記法で記述可能な文章作成システムの開発 -最低限、論文を作成可能にする -文章作成のみに集中できるように -記述が簡単なPukiWiki記法で書けないか -先行研究にない図や表に対応 *pukiwiki記法 [#g0b2084c] Wikiを記述する際に使用する言語 -「*」や「+」や「-」を行頭に付けることで「見出し」や「箇条書き」にすることが可能 -表などを扱うのは直感的 例:|要素A|要素B|要素C| *論文作成に必要な項目 [#n4cb9e80] |タイトル|著者| |日付|箇条書き| |目次|見出し| |章立て|ラベル| |参照|数式| |フォントサイズ|フォントの色| |図|表| |付録|コメントアウト| |下線|ページ番号の設定| *~研究内容 [#a8a88a9d] LaTeX を扱うのは容易ではなく負担がかかるため、今回は直感的に表などの作成が可能である「pukiwiki記法」を用いて、それをTeX形式に変換することでユーザの負担を軽減することは出来ないかと考えた。 *動作方法 [#bdc106ee] -PukiWiki記法を用いてWebブラウザ上で文章を記述 -文章をエディタへコピー&ペースト -Pukiwiki記法で作成された文章を作成したプログラムにかける -出力された文章ファイルの拡張子を(.tex)へ変更 -ターミナルなどを用いてコンパイルしpdfへ 上記を図に示したものが図【【】】である #ref(activity.png,center) CENTER:(名前,【】) *対応の仕方 [#ye0d098c] 今回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形式に変換した際に特定のコマンドの前後にページ番号などの命令を付与させるようにした。 画像 *プログラムの処理 [#xcb81867] + 記号を判別し、対応する命令'''\begin{itemize}'''を出力する(変数の値が0の場合) + 文頭の記号をを'''\item'''に変換し変数の値を+1する + 文頭に対応する記号が無い行かつ変数の値が0以上であればと命令'''\end{itemize}'''を出力する リスト無画像 箇条書きや表組、画像貼り付け等、LaTeX側で複数行に渡り命令をする場合は図のような処理方法を行っている。 その他のタイトル('''\title''')や目次('''\tableofcontents''')等、一行で判別が可能な命令については図\ref{pl2}のように、文頭や文中に特定の項目がが存在した際に\LaTeX の命令に変換している。 タイトルと目次の画像 Pukiwikiではページ更新をした際に、*(見出し)を使用した文末にアンカーが付属してしまう(図)。そのままTeX形式に変換しターミナルなどでコンパイルするとエラーが出てしまうためTeX形式へ変換する際にそのアンカーを削除する必要があった。 ページ更新前後の比較 *~評価実験 [#o662e8ee] *~まとめ [#cce84965] **PukiWiki記法からTeX形式に変換するシステムの開発 [#o4bce59a] -現状 見出し・箇条書き・表・図、日付などの命令に対応 *課題 [#q2216e08] -PukiWiki記法にない項目(タイトル、著者、ラベル、参照など)を独自で考えTeXに対応させる -通常の手順(platex,dvipdfmx)でコンパイル可能にする -PukiWiki記法(*.tex)→TeX形式(*.tex)→コンパイル結果(*.dvi、*.ps、*.pdf) -評価実験を行う *見直し [#iaae7ed2] *終わりに [#ef19b892] *~謝辞 [#t76c9886] ---- *~付録 [#h12a62c8]