TeX」タグアーカイブ

Jetpack「Beautiful Math」による LaTeX 数式挿入検討 (すぐに中止)

Jetpackの「Beautiful Math」で数式が挿入できるということで他のプラグインと検証。
と思ったのですが、数式中で改行できない、ということで検証を早々に中止。

現在の数式挿入で使用しているプラグイン「WP QuickLaTeX」では、以下のようなコードで良い。

[latex]
\left\{
\begin{aligned}
F(\omega) &= \int_{-\infty}^\infty f(t)e^{-j\omega t} dt \\
f(t) &= \frac{1}{2\pi} \int_{-\infty}^\infty F(\omega)e^{j\omega t} d\omega
\end{aligned}
\right.
[/latex]

このコードで、以下のように。

 \left\{  \begin{aligned}   F(\omega) &= \int_{-\infty}^\infty f(t)e^{-j\omega t} dt \\   f(t) &= \frac{1}{2\pi} \int_{-\infty}^\infty F(\omega)e^{j\omega t} d\omega  \end{aligned} \right.

この数式が、Jetpackの「Beautiful Math」でどうなるか試そうと思ったのですが、
$latex ***$
の間では現状改行ができないそうなので断念。
数式の途中改行ができるようになってから改めて比較したいです。

\left\{
 \begin{aligned}
  F(\omega) &= \int_{-\infty}^\infty f(t)e^{-j\omega t} dt \\
  f(t) &= \frac{1}{2\pi} \int_{-\infty}^\infty F(\omega)e^{j\omega t} d\omega
 \end{aligned}
\right.

投稿時点でのJetpackのバージョン: 3.7.2

gnuplot の epslatex ドライバを用いた、LaTeX への日本語や数式の入ったラベルのある図面の取り込み

gnuplot の epslatex ドライバが非常に便利なので、使い方に関してのメモです。

同ドライバは、gnuplot での出力が、文字の入っていない eps ファイルと、その eps ファイルの上に文字情報を追記するための TeX ファイルの2つに分かれることが大きな特徴です。
これにより、ありがちな gnuplot での日本語ラベルの問題などが発生しなくなります。
ラベルや凡例に数式を追加することも非常に容易です。

epslatex ドライバの概要

  • 出力が、文字の入っていない eps ファイルと、その eps ファイルの上に文字情報を追記するための TeX ファイルの2つ
  • ラベルや凡例に数式を入れること、日本語での記述に、特別な手間が無い
  • 特別にドライバをインストールする必要がない

epslatex ドライバの使用に当たっては、以下のように標準パッケージしか使っていません。

  • Linux標準のTeX Liveパッケージ
  • Linux標準のgnuplotパッケージ

使い方はいたってシンプルです。
以下が、gnuplot 用の plt ファイルです。
graph.tex と graph.eps が出力されます。

set terminal epslatex color
set output "graph.tex"

set xlabel "時間 $t$ [秒]"
set ylabel "電圧 $V$ [V]"

set grid

plot sin(x) title "$y = sin(t)$" w l

quit

次に、出力された eps ファイルと TeX ファイルを読み込むメインの TeX ファイルです。
拡張子をつけず、input とすることで両方のファイルの読み込みが行われます。

\documentclass[a4j,10pt]{jsarticle}

\usepackage[dvipdfmx]{graphicx}

\begin{document}
\begin{figure}[htb]
	\centering
	\input{graph}
	\caption{正弦波信号}
	\label{fig:graph}
\end{figure}

\end{document}

最後に、bash 等で以下のコマンドによるコンパイルを行うだけです。
(ラベルの都合上、TeX ファイルは2度コンパイルしています)

gnuplot plot.plt
platex main.tex
platex main.tex

以下が実際の図のイメージです。

epslatex-capture

plt ファイルに記述した数式がそのまま表示されています。
日本語のラベルですが、フォントの指定もすることなく表示されています。
また、読み込んでいるファイルは TeX ファイルなので、読み込みを行う TeX ファイルでのフォントサイズ指定を一括で行うこともできます。

\documentclass[a4j,10pt]{jsarticle}

\usepackage[dvipdfmx]{graphicx}

\begin{document}
\begin{figure}[htb]
	\centering
	{\scriptsize \input{graph}}
	\caption{正弦波信号}
	\label{fig:graph}
\end{figure}

\end{document}

さらに、プロットの際に、サイズ指定をすることで図のサイズを変更することもできます。
加えて、data.csv という別のデータファイルの読み込みを行っています。

set terminal epslatex color size 8.0cm,4.0cm
set output "graph.tex"

set xlabel "時間 $t$ [秒]"
set ylabel "電圧 $V$ [V]"

set grid

set datafile separator ","
plot "data.csv" title "$y = sin(t)$" w l

quit

以上のように、非常に簡単に、カラーで日本語もあり、数式を含んだような図面を LaTeX に取り込むことができます。

Gnuplotのバージョン : 4.2
TeX環境 : TeX Live 2014

WordPressでLaTeX数式の記述 (WP QuickLaTeX)

WordPressの本文中に、LaTeXの数式を挿入したかったので導入したプラグインに関してのメモです。

今回導入したプラグインは「WP QuickLaTeX」。
導入時バージョン : 3.8.0

通常と同様、プラグインから検索で追加可能です。有効化をするだけですぐに、以下のような記述が変換されます。

[latex]と[/latex]で

\[
y=\sin(t)
\]

を囲むだけで、以下のように変換されます。

     \[ y=\sin(t) \]

数式番号も対応されており、

\begin{equation}
y=\cos(t) \label{eq:test}
\end{equation}

は、文中で式(\ref{eq:test})とすれば、式(1)のように番号が振られます。

(1)    \begin{equation*} y=\cos(t)  \end{equation*}

ただし、eqnarrayの数式の式番号は1つになってしまうようです(バグ?)。

\begin{eqnarray}
F(\omega) &=& \int_{-\infty}^\infty f(t)e^{-j\omega t} dt \label{eq:eq1} \\
f(t) &=& \frac{1}{2\pi} \int_{-\infty}^\infty F(\omega)e^{j\omega t} d\omega \label{eq:eq2}
\end{eqnarray}

(2)    \begin{eqnarray*} F(\omega) &=& \int_{-\infty}^\infty f(t)e^{-j\omega t} dt  \\ f(t) &=& \frac{1}{2\pi} \int_{-\infty}^\infty F(\omega)e^{j\omega t} d\omega \label{eq:eq2} \end{eqnarray*}

その他、有名なプラグインとして「LaTeX for WordPress」があります。[latex]と[/latex]が無くても変換されるというメリットがある反面、以下のような点がデメリットだと思います。
(バージョン 3.4.10 時点では簡易的なエスケープ記法は見当たりませんでした)

  • SyntaxHighlighter Evolved などと一部競合
  • 正規表現など、一般的な記述も LaTeX 文書として置換されてしまう

なので、総合して「WP QuickLaTeX」を使うことにしました。