天地有情

[LuaLatex] gnuplot-lua-tikz --- lualatex で gnuplot する

gnuplot-lua-tikz --- lualatex で gnuplot する

§1 はじめに

gnuplot で作成したグラフィクスを LaTeX や ConTeXt などに取り込むパッケージが既に幾つか
存在します.今回,紹介するのは gnuplot-lua-tikz パッケージです.概要を把握するために,
C:\w32tex\share\texmf-dist\doc\generic\gnuplot-lua-tikz\gnuplot-lua-tikz.pdf が参考になります.
以下は,W32TeX 関係で, lualatex での処理について説明していますが,platex や ConTeXt でも可能です.

1.1 パッケージのインストール

gnuplot-lua-tikz パッケージは TeXLive/W32TeX などには
C:\w32tex\share\texmf-dist\tex\latex\gnuplot-lua-tikz
に,標準でインストールされていますので,インストール作業は必要ありませが,最新版の gnuplot のインストールの
確認が必要です.

1.2 最新版の gnuplot のインストール

W32TeX の Topページ( http://w32tex.org/index-ja.html ) に進み,ページの後半の
=== Gnuplot 5.1 patch level 0 の Windows 版 (開発中の版)=== の項目から

● gp51pl0-win32-setup.exe (32bit版)

● gp51pl0-win64-setup.exe (64bit版)

のいずれかを PCマシンに合わせてインストールします.
さらに,
同じところに説明あるように, gpfc-cache -v を実行します.

-----------------------------------------------------------------------
C:\Users\uname\Desktop| gpfc-cache -r -v

Creating chache files for fontconfig.
It requires rather a long time, especially
if you have many large font files. Be patient.

ここで,PC性能にも依りますが 10~15分程度待ちます.
その後,以下のメッセージで終了となります.

C:/Windows/fonts: caching, new cache contents: 1392 fonts, 0 dirs
C:/Program Files/gnuplot/fonts/cache: cleaning cache directory
gpfc-cache: succeeded
-----------------------------------------------------------------------

1.3 マニュアル

(1)コマンドラインから texdoc gnuplot-lua-tikz を実行してください.

(2)gnuplot を起動させて次を実行します.参考になるでしょう.

   gnuplot> set term lua tikz help


§2 サンプル

練習ですので,DeskTop上に[sample]ホルダーを作成し,その中に gnuplot実行ファイル wgnuplot.exe と
コマンドシェル cmd.exe のショートカットを配置します.さらに,以下で説明する gnuplotプログラム gfigure.pltと
メインの LaTeX ファイル main.tex をエディタで作成し配置します.作業はこのホルダーの中で行います.

GPlua01.png

2.1 ソースファイルの作成

(1)gnuplotプログラム gfigure.plt の作成

-----------------------------------------------------------------
set term lua tikz font '\ttfamily,14.4'
set out 'gfigure.tex'
set title 'パラメトリック図形' font '\sffamily,24.88,fill=red'
set parametric
set sample 300
unset key
unset border
unset xtic
unset ytic
plot [t=0:2*pi] cos(3*t),sin(5*t) lw 4
-----------------------------------------------------------------

(2)LaTeX ファイル main.tex

-----------------------------------------------------------------
\documentclass{ltjsarticle}
\def\pgfsysdriver{pgfsys-pdftex.def}
\usepackage{gnuplot-lua-tikz}
\usepackage{type1cm}
%
\begin{document}
\input{gfigure.tex}
\end{document}
-----------------------------------------------------------------

2.2 コンパイル関係

(1)gfigure.plt から 出力ファイル gfigure.tex の生成

wgniplot.exe をクリック.起動後 load コマンドを実行します.

GPlua02.png

ホルダー内に gfigure.tex が生成されていることを確認します.

【注】gnuplot-tikz.lua が見つからないというメッセージが出た場合には次を Path に追加してみてください.

   C:\Program Files\gnuplot\share\luaterm

(2)main.tex をコンパイルし,main.pdf を生成します.

cmd.exe をクリック.起動後 lualatex コマンドを実行します.

GPlua03.png

ホルダー内に main.pdf が生成されていることを確認します.

(3)main.pdf を表示する.

GPlua04.png


(EOF)

スポンサーサイト
  1. 2015/07/15(水) 09:12:35|
  2. lualatex

[LuaLaTeX] LuaLaTeX で『源ノ角ゴシック』を使ってみた

LuaLaTeX で『源ノ角ゴシック』を使ってみた

§1 はじめに

GoogleとAdobeの共同開発で日本語・中国語・韓国語に使えるオープンソースのフォント
「Noto Sans CJK」 あるいは 「源ノ角ゴシック」が公開されています.
共同開発と言うことで,それぞれ呼び名が違いまが,ざっくり見た感じは同じもののようです.

hans01.png

名称がややこしいのですが、「Noto Sans」=「Source Han Sans」=「源ノ角ゴシック」です.

ウェイト名が一部異なります.デフォルトのウェイトは Noto が Regular,源ノ角ゴシック が Normal となっており、
源ノ角ゴシックの方が若干細くなっています.

hans02.png

1.1 インストール
   「Noto Sans」あるいは「Source Han Sans」で検索すれば簡単にヒットします.
   ダウンロードしたら, C:\Windows\Fonts にインストールします.

§2 サンプル

ここでは,LuaLaTeX で『源ノ角ゴシック』を使ったサンプルを示します.

2.1 ソースファイル

■ sample.tex(UTF-8)

select03.png

【説明概要】
 3行目:optinalパッケージを登録します.
 4行目:\ExplainOptions を定義し,内容はフォントのウエイトを1~7に分類します.
 5行目:\AskOptions でコンパイル時に1~7のいずれかを入力するよう催促されます.
 6行目:和文フォントは\setmainjfont{...},欧文フォントは\setmainfont{...}で設定します.

2.2 コンパイルの仕方
  (クラスファイルが ltjsarticle の場合)

  luajitlatex sample.tex
  または
  lualatex sample.tex

【注意】コンパイル途中において,次のようにフォントを選択する必要があります.
    \UseOption= に 1~7のいずれか一つの番号を入力してリターンキーを押してください.

console.png

2.3 コンパイルの結果
  正しくコンパイルできたら sample.pdf が生成されます.

  ここでは,1~7 を個々に実行し,それを一つにまとめ挙げたものを示します.

select04.png



  1. 2015/04/25(土) 12:42:53|
  2. lualatex

[LuaTeX] LuaTeX, LuaJITTEX と日本語ファイル名 --cmdx オプション

LuaTeX, LuaJITTEX と日本語ファイル名 -cmdx オプション

LuaTeX, LuaJITTEX で日本語ファイル名の使い方
が次のサイトに記述されています.

TeX Wiki LuaTeX
W32TeX における LuaTeX, LuaJITTEX と日本語ファイル名

読めば,すぐに理解できるものですが,一応メモしておきます.

使い方:

コンパイルコマンドは lualatex あるいは luajitlatex を使います.
以下は luajitlatex で記述します.

(1)luajitlatex -cmdx 平成26年度予算[.tex]
    
   ● -cmdx の引数に 平成26年度予算[.tex] を指定します.
   ● 平成26年度予算.tex の中に \input{予算表.tex} があっても構いません.


(2)luajitlatex -cmdx foo[.tex]
    
   ● 引数が foo.tex で日本語ファイル名 でなくても,その中に \input{予算表.tex} があれば
     -cmdx オプションを指定します.そうしないとコンパイルエラーとなります.
  
  
余滴:

platex の場合は -jobname=日本語ファイル名 日本語ファイル名.tex を使います.

(例)platex -jobname=平成26年度予算 平成26年度予算.tex

(EOF)
  1. 2015/02/03(火) 15:17:40|
  2. lualatex

[LualLaTeX] LuaLaTeX ソースファイルに Luaスクリプトを取り込む(2)

LuaLaTeX ソースファイルに Luaスクリプトを取り込む(2

本編は『LuaLaTeX ソースファイルに Luaスクリプトを取り込む』の続編です.
( http://konoyonohana.blog.fc2.com/blog-entry-64.html )

LuaLaTeX ソースファイルに Luaスクリプトを取り込むには,
どうすれば良いでしょうか.今回は『表』のサンプルで確認してみようと思います.

● サンプル

  ソースファイル foo.tex
======================================================
01: \documentclass{ltjsarticle}
02: \usepackage{luacode}
03: 
04: \begin{luacode*}
05: function mul()
06:  num=7
07:  for i=1,num do
08:  for j=1,num do
09:  ixj='$'..i..'\\times'..j..'='..i*j..'$';
10:  tex.print(ixj)
11:  if(j<num) then tex.sprint('&') else tex.sprint('\\\\') end
12:  end
13:  end
14: end
15: \end{luacode*}
16: 
17: \newcommand{\multable}{\luadirect{mul()}}
18: 
19: \begin{document}
20: 九九のうち,『7の段』までを表にします.
21: 
22: \begin{center}
23: \begin{tabular}{*{7}{l}} %{lllllll}と同じ
24:  \multable
25: \end{tabular}
26: \end{center}
27: \end{document}
======================================================

【説明】
01: クラスファイルは ltjsarticle を使います.ltjarticle でも構いません.
02: luacode パッケージの登録が必要です.
04と15: luacode*環境.この環境内に Luaスクリプトを記述します.
05~14: 関数 mul() を定義.内容は for 文による ”九九”です.(7の段まで)
10: ”九九”演算の結果を表示します.
17: LuaTeX側でLuaスクリプトとのインタフェースをとるためのコマンド\multable を定義します.
   (\luadirect{..}の代わりに,\luaexec{..}でも構いません.)
19~27: 本文になります.
23~25: ”九九”演算の表を作成します.

● コンパイル

  luajitlatex foo.tex
  または
  lualatex foo.tex

● 結果

  foo.pdfの内容

99.png


== おわり ==



  1. 2014/02/22(土) 14:41:00|
  2. lualatex
  3. | トラックバック:0
  4. | コメント:0

[LuaLaTeX] LuaLaTeX ソースファイルに Luaスクリプトを取り込む

LuaLaTeX ソースファイルに Luaスクリプトを取り込む

Luaスクリプトの文法や特徴などは「検索」すれば,色々な
情報が得られますので,ここでは割愛させて頂きます.

さて,LuaLaTeX ソースファイルに Luaスクリプトを取り込むには,
どうすれば良いでしょうか.サンプルで確認してみようと思います.

● サンプル

  ソースファイル foo.tex
======================================================
01:  \documentclass{ltjsarticle}
02:  \usepackage{luacode}
03:  \begin{luacode*}
04:  function kasan(x)
05:  i=0 ; total=0
06:  while(i < x) do
07:  i=i+1 ; total=total+i
08:  end
09:  tex.print(total)
10:  end
11:  \end{luacode*}
12: 
13:  \newcommand\accumulate[1]{\luadirect{kasan(#1)}}
14: 
15:  \begin{document}
16:  (a) $1+2+3+\ldots + 98+99+100$ の
17:  総計は \accumulate{100} です.
18: 
19:  (b) $1+2+3+\ldots + 8+9+10$ の
20:  総計は \accumulate{10} です.
21:  \end{document}
======================================================

【説明】
01: クラスファイルは ltjsarticle を使います.ltjarticle でも構いません.
02: luacode パッケージの登録が必要です.
03と11: luacode*環境.この環境内に Luaスクリプトを記述します.
04~08: 関数 kasan(x) を定義.内容は while~end 文による ”累加算”です.
09: 累加算された結果を表示します.
13: LuaTeX側でLuaスクリプトとのインタフェースをとるためのコマンド\accumulateを定義します.
   (定義中の\luadirect{..}の代わりに,\luaexec{..}でも構いません.)
15~21: 本文になります.
16: \accumulate{100}の累加算を行います.---> 答えは 5050 になる.
19: \accumulate{10}の累加算を行います. --> 答えは 55 になる.

● コンパイル

  luajitlatex foo.tex

あるいは

  lualatex foo.tex

● 結果

  foo.pdfの内容

luacode.png


== おわり ==



  1. 2014/02/21(金) 14:41:47|
  2. lualatex
  3. | トラックバック:0
  4. | コメント:0

lualatex用の日本語クラスファイル

lualatex用の日本語クラスファイル


lualatex用の日本語クラスファイルを調べてみたら,次の3種類が見当たりました.

(1)ltjsclasses(ltjsbook,ltjsarticle)

*マニュアル:ltjsclasses.pdf
*jsclassesをベースにしています.
*クラスオプション[report]を指定すると,ltjsreportに対応します.
*文字サイズ:10pt,11pt,12pt のほかに,8pt,9pt,14pt,17pt,21pt,25pt,30pt,36pt,43pt,12Q,14Q
*サンプル
-------------------------------------
\documentclass{ltjsbook}
\usepackage[ipa]{luatexja-preset}
\begin{document}
\chapter{吾輩は猫}
\section{名前はまだ無い}
吾輩は猫である.名前はまだ無い.

どこで生れたかとんと見当がつかぬ.
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している.
吾輩はここで始めて人間というものを見た.
しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ.
この書生というのは時々我々を捕えて煮て食うという話である.
しかしその当時は何という考もなかったから別段恐しいとも思わなかった.
ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあった
ばかりである.
\end{document}
-------------------------------------

コンパイル: luajitlatex foo1.tex

結果:

ltjsbook.png


(2)ltjclasses(ltjbook,ltjreport,ltjarticle)

*マニュアル:ltjclasses.pdf
*jclassesをベースにしています.
*文字サイズ:10pt,11pt,12pt
*サンプル
-------------------------------------
\documentclass{ltjbook}
\usepackage[ipa]{luatexja-preset}
\begin{document}
\chapter{吾輩は猫}
\section{名前はまだ無い}
吾輩は猫である.名前はまだ無い.

どこで生れたかとんと見当がつかぬ.
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している.
吾輩はここで始めて人間というものを見た.
しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ.
この書生というのは時々我々を捕えて煮て食うという話である.
しかしその当時は何という考もなかったから別段恐しいとも思わなかった.
ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあった
ばかりである
\end{document}
-------------------------------------

コンパイル: luajitlatex foo2.tex

結果:

ltjbook.png


(3)bxjscls(bxjsreport,bxjsarticle)

*マニュアル:bxjsclasses.pdf
*jsclassesをベースにしています.
*bxjsbookは現時点では未サポートです.
*文字サイズ:10pt,11pt,12pt のほかに,8pt,9pt,14pt,17pt,21pt,25pt,30pt,36pt,43pt,12Q,14Q
*サンプル
-------------------------------------
\documentclass[lualatex]{bxjsreport}
\usepackage{luatexja}
\usepackage[ipa]{luatexja-preset}
\begin{document}
\chapter{吾輩は猫}
\section{名前はまだ無い}
吾輩は猫である.名前はまだ無い.

どこで生れたかとんと見当がつかぬ.
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している.
吾輩はここで始めて人間というものを見た.
しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ.
この書生というのは時々我々を捕えて煮て食うという話である.
しかしその当時は何という考もなかったから別段恐しいとも思わなかった.
ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあった
ばかりである.
\end{document}
-------------------------------------

コンパイル: luajitlatex foo3.tex

結果:

bxjsreport.png


  1. 2014/02/15(土) 08:28:52|
  2. lualatex
  3. | トラックバック:0
  4. | コメント:0