wordをTeXに、楽々変換!
またまた唐突ですが、このnoteでは、「Typora」という人気のマークダウンエディタを使って、wordで作成した文書をLaTeX形式に変換したり、LaTeX形式で作成した文書をwordに変換したり、その他いろんな変換をしてしまおう! というご案内をします。
(注・追記2021/11/25)Typoraのβ版配布終了にともない、2021年11月25日現在では有料化されています。詳しくは以下のウェブサイトをご参照ください。
「そんなことする必要ある??」と思われる方もいらっしゃるかもしれません。はい、ご指摘の通りです。そんなケースは激レアです。めったにありません。しかしメモしておけば、急に「あ、wordで書いてもらっちゃったけど、やっぱりTeXでくれる? 明日までね」と言われたときに、慌てず楽に対応できます!
なお「マークダウン(markdown)」とは、「文書を記述するための軽量マークアップ言語のひとつである。本来はプレーンテキスト形式で手軽に書いた文書からHTMLを生成するために開発されたもの」(Wikipediaより)です。単純に使うだけならすごく簡単な体系なので、初めての方でも簡単に扱えます(たとえば以下を参考に)。使いやすいエディターもたくさんあってサポートしてくれますので、まだの方はぜひお試しください!
■Typoraを使おう
というわけで、まずは以下で使う「Typora」を、以下の公式ウェブサイトからインストールしましょう。
右上に表示されている[Download]を押すと、以下の画面に移動します。ご自身のOSにあわせてクリックしてダウンロードし、インストールするだけ! 特に複雑なセットアップなどは一切不要です。
以下が新規文書を作成したときの画面で、少し書き込んでいるように、見出しをタグづけしたり、数式が打てたりまします(数式環境の数式のコマンドはLaTeX形式です)。左側の「アウトライン」部分には、タグづけした見出しが一覧で表示されていて、クリックするとその場所に飛べます(wordのナビゲーションウィンドウと同じです)。
なお、Typora以外にも便利なエディターはたくさん存在しますが、以下のサイトなどでも最初に紹介されているように、現在は人気エディタの1つのようです。
Typoraの使い方自体は、このnoteではスキップしますが、たとえば以下など、詳細な説明がたくさんネットにアップされているので、ぜひチェックしてみてください!
■Typoraのインポート&エクスポート機能はスグレモノ
さて、たくさんあるマークダウンエディタの中で、あえてTyporaを使う理由の1つは、すごくいろんな形式のファイルに対応したインポート&エクスポート機能がある、というものです。以下のように、PDFやHTMLを基本として、word、LaTeXなどなど。EPUBという、電子書籍の形式にもエクスポートできます。
ただし、デフォルトでサポートされているPDFやHTML形式以外の形式を扱うには「Pandoc」という文書変換ツールを別途インストールして、Typoraからそれを使うよう設定する必要があります。こう書くと面倒臭そうですが、簡単です。
手順としては、LaTeXなど、デフォルトでサポートされていない形式を選択すると、Typoraが「Pandocが必要ですよ」と案内を出してくれるので、それに従ってPandocのウェブサイトに行って、ダウンロード・インストールをして、再起動するだけです。これでTyporaとPandocが連携してくれて、上記のようなファイス形式のインポートとエクスポートができるようになります。
より詳細なTyporaにPandocを導入する手順については、以下のサイトなどをご参照ください(繰り返しになりますが、簡単なので大丈夫!)。
■word→Typora→LaTeXが簡単に!
さていよいよ本題です。wordで書いた文書をTyporaにインポートして、LaTeXにエクスポートすることで、簡単にファイル形式を変換することができます。数式交じりの文書を例に、以下で実践してみたいと思います。
まず、以下のようなwordファイルを用意してみました。
このファイルを、Typoraにインポートします。「インポート」を選択すると以下のようなウィンドウが出るので、このwordファイルを選択します。
そうすると、とりあえずこんな形式でTyporaが読み込んでくれます。
基本的にちゃんと読み込んでいますが、別行立ての数式の形式が不満です。こういう場合は、仕方がないので手作業で整形します。
できました。数式環境の立て方を調整するだけなので、とても簡単にできました。これで、だいたい先ほどのwordと同じ感じに、Typoraで表示されています(別行立て数式を設定して、ここでは式番号を消すために「\notag」を埋めました)。
このnoteの目的は、「word→TeX変換」を最小労力で実現することです。ということで、ここからが本番なのですが、実は超簡単です。
後はこれをLaTeX形式にエクスポートするだけ。もうほとんど書くことがありません。
先ほどPandocを導入したことで、LaTeX形式にエクスポートすることができます。なので、wordから読み込めてしまえば、もうこっちのもの。
エクスポートすると、同じフォルダにTeXファイルが出力させることができます(もちろん、出力場所とファイル名はエクスポート時に選択します)。
このTeXファイルを、お手元の環境でコンパイルすれば、とりあえずPDFが生成できます。Overleafなどのツールを介してももちろんOKです。ただし、お手元の環境によってはそのままではコンパイルできない場合があります。
なので、文書ソースの部分をコピーして自身のTeXファイルに貼り付けてコンパイルするか、不要な部分を削除orコメントアウトしてコンパイルしてみてください。すると、以下のように、無事にLaTeXを使ってPDFが作成できました。
というわけで、形式部分を微調整するだけでwordで作った数式入りの文書をTeX形式に変換することができました。作業に慣れればかなり簡単に、短時間で変換できます。
なお、エクスポートされたママのTeXファイルは以下です。そのまま貼り付けてますが、結構余分なことが書かれているなと思われる方も多いかと思います。そんなときは、「\begin{document}」以下をコピペして、ご自身の環境で利用する際などでも便利に扱えるかもしれません。
% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
%
\documentclass[
]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\usepackage{xcolor}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
hidelinks,
pdfcreator={LaTeX via pandoc}}
\urlstyle{same} % disable monospaced font for URLs
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
\author{}
\date{}
\begin{document}
\hypertarget{header-n2}{%
\section{デモ(見出しレベル1)}\label{header-n2}}
\hypertarget{header-n4}{%
\subsection{小見出し(見出しレベル2)}\label{header-n4}}
こんな数式入りの文書をとりあえずwordで作りました。
家計の効用、
\[\sum_{t = 0}^{\infty}\beta^{t}\left\lbrack \Psi\ln{(C_{t})}
+ \left( 1 - \Psi \right)\ln\left( 1 - h_{t} \right) \right\rbrack \notag\]
を、資源制約、
\[Z_{t}K_{t - 1}^{\alpha}h_{t}^{1 - \alpha} = C_{t} + K_{t}
- \left( 1 - \delta \right)K_{t - 1} \notag\]
のもとで最大化します。ただし\(C_{t}\)は消費です。その他は省略。
\end{document}
■おわりに
ここで紹介したツールを使えば、急に「あ、wordで書いてもらっちゃったけど、やっぱりTeXでくれる? 明日までね」と言われても大丈夫。ある程度の長さの文書ならば、「明日まで対応」もイケるはず……。
また、Typoraを介せば、インポート→エクスポートでいろんなファイル形式に変換することができるので、必要に応じてぜひお試しください!(数式がうまく変換されないケースもありますが、その場合はおおらかな気持ちで調整を……)
Typoraなどを使えば、マークダウンはかなり便利に活用できます。また別の機会にそうした便利機能もご紹介できればと思います。
サポートに限らず、どんなリアクションでも大変ありがたく思います。リクエスト等々もぜひお送りいただけたら幸いです。本誌とあわあせて、今後もコンテンツ充実に努めて参りますので、どうぞよろしくお願い申し上げます。