LoginSignup
5
10

More than 3 years have passed since last update.

TeX形式の図表をWordで使いたい!!!!

Last updated at Posted at 2020-02-26

趣旨

マイ教授は云いました。

LaTeXはもう古いからWordで修論を書きなさい。

私、ほぼ趣味の範疇で学部時代の卒論をLaTeXで書いていたのですが、「添削しづらいからWordで書き換えなさい」と途中で教授からのお怒りを買ってしまいました。修論で同じ過ちを犯すわけにはいきません。絶対Wordで書きます。
とはいえLaTeXで作る表はなかなか美しいもので、せめて図表だけでもLaTeXを使いたいと考えました。というのも、私が普段使う統計言語Rで分析結果を図表形式で出力するにあたっては、無機質なCSV形式か、スマートかつエレガントなTeX形式のほぼ二択です。

最近のWordは数式はTeX形式に対応したものの、図表には対応していないので、そのままLaTeXのコードをコピペしても何も反応しません。かといってスクショを取って貼り付けるのも、画質が維持できなかったりするのでちょっと抵抗があります。
というわけで、何とか画質を維持しつつWordでTex形式の図表を貼り付ける方法を考えましょう。

対象

Windowsユーザーで、以下のような方を対象としています。

  • LaTeX触ったことないけど図表の見た目に拘ってみたい方
  • LaTeXユーザーだけど文書はWordで作成したい方
  • TeX形式でしか分析結果を出力できずに困っている方
  • TeX環境をPCに導入せずに作業したい方

なおこの記事では一瞬だけRが登場しますが、R使いでなくても全然大丈夫です。

方法

普通はTeX形式のドキュメントを取り扱うには何かしらのディストリビューションが必要ですが、導入に結構な時間と手間がかかるのでお手軽感がありません。そこで今回は Cloud LaTeX を使うことで、LaTeX環境をPCに入れずにTeX形式のドキュメントを扱える状態にします。

おおよその手順は以下の通りです。

1. 図表だけのLaTeX文書を作成してPDFとして保存する。
2. InkscapeにPDFをインポートする。
3. キャンバスサイズを図表に合わせてベクター形式でエクスポートする。

TeX形式による結果出力

私はR使いなのでRのサンプルコードを書いておきますが、自前のTeX形式の図表があれば、そちらで構いません。

R使いの方へ:分析結果をTeX形式で取得する

以下のコードを実行すると、TeX形式の分析結果(irisデータセットの重回帰)がクリップボードにコピーされます。
library(stargazer)
library(clipr)
write_clip(stargazer(lm (Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width , data=iris)))

R使い以外の方へ:TeX文書のサンプル

R使い向けのコードの実行結果として出力された、TeX形式の図表です。
こちらをコピーしていただければOKです。
% Table created by stargazer v.5.2.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
% Date and time: 水, 2 26, 2020 - 23:45:14
\begin{table}[!htbp] \centering 
  \caption{} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lc} 
\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
 & \multicolumn{1}{c}{\textit{Dependent variable:}} \\ 
\cline{2-2} 
\\[-1.8ex] & Sepal.Length \\ 
\hline \\[-1.8ex] 
 Sepal.Width & 0.651$^{***}$ \\ 
  & (0.067) \\ 
  & \\ 
 Petal.Length & 0.709$^{***}$ \\ 
  & (0.057) \\ 
  & \\ 
 Petal.Width & $-$0.556$^{***}$ \\ 
  & (0.128) \\ 
  & \\ 
 Constant & 1.856$^{***}$ \\ 
  & (0.251) \\ 
  & \\ 
\hline \\[-1.8ex] 
Observations & 150 \\ 
R$^{2}$ & 0.859 \\ 
Adjusted R$^{2}$ & 0.856 \\ 
Residual Std. Error & 0.315 (df = 146) \\ 
F Statistic & 295.539$^{***}$ (df = 3; 146) \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

Cloud LaTeXでPDF化

Cloud LaTeXはブラウザ上でLaTeXの編集ができるウェブサービスです。無料で登録できます。
Cloud LaTeXは日本語にも対応しているため、他のウェブアプリよりお勧めです。

ログイン後、新規プロジェクトを適当に作成しプロジェクトを開いたら、main.texをこのように上書きしてください。

\documentclass{article}
\begin{document}
\thispagestyle{empty}

% ここに図表のコードをペーストする

\end{document}

ここまで完了したら、右上のコンパイルPDFを押して、PDFを保存してください。

InkscapeでSVGへ変換

Inkscape を開き、先ほどのPDFをドラッグ&ドロップします。
その際オプションを聞かれますが、「Poppler/Cairo import」を必ず選択しましょう。

その後ファイル > ドキュメントのプロパティページサイズをコンテンツに合わせて変更タブを開き、ページサイズを描画全体または選択オブジェクトに合わせるをクリックします。

最後にファイル > 名前を付けて保存から、SVG形式またはEPS形式で保存しましょう。

Wordに貼り付ける

Inkscapeで保存したファイルをWordにコピペ(ドラッグ&ドロップ)すれば作業完了です。
Wordの最新版ではSVG形式に対応していますが、Office 2016などバージョンが古い場合はSVG形式に対応してないと思いますので、EPS形式を試してください。
ベクター画像なので、Wordで拡大・縮小しても劣化せず取り扱えます。

注意点

図表の編集はCloud LaTeXの段階で行っておく必要があります。
後から編集したい場合は、Cloud LaTeXに戻ってPDFを再出力しましょう。

Tips

普段LaTeXを使っていない方向けの小技です。
LaTeXに慣れている方は飛ばしてください。

キャプションの編集

タイトルを追加する

図表部分のコードの\caption{}に以下のように加えます。
ないときは\begin{table}以下に追加してください。

\begin{table}[!htbp] \centering
\caption{重回帰分析の結果} 
% 以下省略


図表の通し番号が不要な場合

TeX文書の冒頭を次のように書き換えます。

\documentclass{article}
\usepackage{caption}
\begin{document}
\captionsetup{labelformat=empty,labelsep=none}
\thispagestyle{empty}


% 図表のコンテンツ
\caption{重回帰分析の結果} 


\end{document}

キャプション自体が不要な場合

TeX文書内の\caption{}を削除してください、

% 以下のような文言があれば丸ごと削除する
\caption{タイトル} 

おわりに

これでTeX形式で出力された図表を劣化させることなくWordで扱えます。
図表がエレガントだと文書作成も何となく楽しくなりますね。

Enjoy!

おしまい。

5
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
10