天地有情

[LaTeX] reflectgraphics -- ぼやけた鏡像を作る

reflectgraphics -- ぼやけた鏡像を作る

§1.概要

本パッケージは,画像の下部を境界にして鏡像を作り且つ,ぼやけた効果をもたらせます.
特に,ドキュメントやプレゼンテーションが向上するものと思われます.
 
本パッケージは,内部的に \includegraphics を使用しています.
基本的に \includegraphics によってサポートされるすべてのグラフィック・タイプが
利用できます.(.jpg, .png, .pdf, .mps, ... など)

■ インストール

TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
すぐに利用できる状態にあると思われます.

■ マニュアル

コマンドラインから texdoc reflactgraphics と打ち込んでください.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

§2.使い方

■ プリアンブルに
   \usepackage[<options>]{reflectgraphics} を記述します.

■ マクロ:
   \reflectgraphics[<options>]{画像名}

<option> は\usepackage(Global設定)よりも,\reflectgraphics(Local設定)が優先します.

■ Options 一覧:

==graphics==
width=<dim>
height=<dim>
scale=<float>
angle=<float> ---- degrees
trim=<dim><dim><dim><dim> ---- left bottom right top

==reflections==
distance=<dim> --- default=3.0pt
length=<float> [0,1] --- default=0.5(50%)
opacity=<float> [0,1] --- default=0.5(50%)

■ 記述例:

   \reflectgraphics[width=4cm]{sample.jpg}
   \reflectgraphics[height=4cm]{sample.jpg}
   \reflectgraphics[scale=0.25]{sample.jpg}
   \reflectgraphics[width=4cm, height=2cm]{sample.jpg}
   \reflectgraphics[width=1.5cm, angle=45]{sample.jpg}
   \reflectgraphics[trim=115 60 80 100]{sample.jpg}
   \reflectgraphics[opacity=0.75, length=0.2]{sample.jpg}

§3.LaTeX2e 文書での指定方法


(1)テンプレート foo.tex

■■■■■■■■■■■■■■■■■■■■
  %% 文字コード:UTF-8
  
  \documentclass{ltjsarticle}
  \usepackage{reflactgraphics}
  %
  \begin{document}
   ここに \reflectgraphics[<options>]{画像名} を置く
  \end{document}
■■■■■■■■■■■■■■■■■■■■

  ★ クラスファイルは ltjsarticle を使っていますが,scrartcl や article などでも構いません.
  ★ 文字コードは UTF-8 とします.

(2)コンパイルの仕方
  luajitlatex foo.tex
  または
  lualatex foo.tex

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


§4.簡単なサンプル集

(1)\reflectgraphics{donald-duck.jpg} --- オプションなし(default)

reflact01.png


(2)\reflectgraphics[width=4cm,length=1.0,opacity=0.8]{Fuji01.jpg}

reflect02.png


(3)\reflectgraphics[width=4cm,length=1.0,angle= 45]{Fuji01.jpg} %% 反時計回り(45度傾斜)
   \reflectgraphics[width=4cm,length=1.0,angle= -45]{Fuji01.jpg} %% 時計回り(-45度傾斜)

reflect03.png



EOT
スポンサーサイト
  1. 2014/09/22(月) 08:58:09|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

[LaTeX] blox.sty -- ブロック線図を作成する

 blox.sty -- ブロック線図を作成する

§1.概要

自動制御系の解析や設計をする場合には,その系の信号伝達のありさまを示し伝達関数を求める必要があります.
この目的に適するものにブロック線図があり,自動制御工学を志す方々におかれましては必須のものと考えます.

blox.sty は,このブロック線図を容易に作成するための LaTeXのスタイルファイル です.

初歩的な内容となっています.下記のマニュアルを読むとさらに理解が深まることでしょう.

■ インストール

TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
すぐに利用できる状態にあると思われます.

■ マニュアル

コマンドラインから texdoc blox と打ち込んでください.

§2.LaTeX2e 文書での指定方法

プリアンブルに
   \usepackage{blox} を記述します.
   本体は \begin{tikzpicture} ~ \end{tikzpicture}で囲みます.

§3.代表的な書式例

  foo.tex
  ■■■■■■■■■■■■■■■■■■■
  %% 文字コード:UTF-8
  
  \documentclass{ltjsarticle}
  \usepackage{blox}
  %
  \begin{document}
   \begin{tikzpicture}
    == ブロック図作成コマンドを記述 ==
   \end{tikzpicture}
  \end{document}
  ■■■■■■■■■■■■■■■■■■■

  ★ クラスファイルは ltjsarticle を使っていますが,scrartcl や article などでも構いません.
  ★ 文字コードは UTF-8 とします.

■ コンパイルの仕方
  luajitlatex foo.tex
  または
  lualatex foo.tex

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

§4.簡単な例題と説明

(1)次のようなブロック線図を作成するものとします.

blox01.png


(2)シンボルの配置と結線のために [メモ書き]で "エントリーポイント" を決めます.

blox02.png


   この例では"エントリーポイント"(座標)は A, B, C, E です.
   端点である A, E にも付けます.

(3)LaTeX ファイル の書き方

ファイル名:blox01.tex
エンコード:UTF-8
■■■■■■■■■■■■■■■■■■■■■
01:  \documentclass{ltjarticle}
02:  \usepackage{blox}
03:  %
04:  \begin{document}
05:  \begin{tikzpicture}
06:   \bXInput{A}
07:   \bXComp{B}{A}
08:   \bXLink[r]{A}{B}
09:   \bXBloc[2]{C}{$G_p$}{B}
10:   \bXLink[u]{B}{C}
11:   \bXOutput{E}{C}
12:   \bXLink[y]{C}{E}
13:   \bXReturn{C-E}{B}{H}
14:  \end{tikzpicture}
15:  \end{document}
■■■■■■■■■■■■■■■■■■■■■

★ 簡単な説明
  02: \usepackage{blox} を登録
  05:~14: \begin{tikzpicture} ~ \end{tikzpicture} で囲む
  06: \bXInput で入力点を設定
  07: \bXComp で比較器を配置
  08: \bXLink で{A}{B}間を結線.線名を[r]とする
  09: \bXBloc でブロックを配置.内容文字を{$G_p$}に,前段との線長さ[2]単位とする
  10: \bXLink{B}{C}間を結線.線名を[u]とする
  11: \bXOutput で出力点を設定
  12: \bXLink{C}{E}間を結線.線名を[y]とする
  13: \bXReturn{C-E}中間から比較器{B}への戻り結線.線名を[H]とする

★ 主要なコマンド構文を掲載します.詳細は マニュアル を参照して下さい.

■Input / Output
   \bXInput[<label>]{<Name>}
   \bXOutput[<distance>]{<Name>}{<Preceding Node>}
   \bXLinkName[<distance>]{<Previos Node>}{<Label>}

■Blocks
   \bXBloc[<distance>]{<Name>}{<Contents>}{<Previous Node>}
   \bXBlocL[<distance>]{<Name>}{<Contents>}{<Previous Node>
   \bXBlocr[<distance>]{<Name>}{<Contents>}{<Previous Node>
   \bXBlocrL[<distance>]{<Name>}{<Contents>}{<Previous Node>}

■Comparators and Summations
   \bXComp*[<distance>]{<Name>}{<Previous Node>}
   \bXSum[<distance>]{<Name>}{<Previous Node>}{<a>}{<b>}{<c>}

■Links
   \bXLink[<labe>]{<Previous Node>}{<Next Node>}
   \bXLinkxy
   \bXLinkyx{<Previous Node>}{<Next Node>}

■Returns
   \bXReturn[<distance>]{<Previous Node>}{<Next Node>}{<label>}

■Chains
   \bXChain[<distance>]{<Previous Node>}{<list>}
   \bXChainReturn[<distance>]{<Previous Node>}{<list>}
   \bXLoop[<distance>]{<Previous Node>}{<list>}

■Branches
   \bXBranchx[<distance>]{<Previous Node>}{<Name>}
   \bXBranchy[<distance>]{<Previous Node>}{<Name>}

(4)コンパイル

  luajitlatex blox01.tex
  または
  lualatex blox01.tex

(5)出来上がりの PDF は冒頭に示したようになります.

blox01.png


§5.ブロック線図全体の拡大と縮小

ブロック線図の全体を拡大したり,縮小したりする "LaTeX 環境" が用意されています.
\begin{tikzpicture} ~ \end{tikzpicture} の内部で利用できます.

(1)tiny環境:  \begin{tiny} ~ \end{tiny}

(2)small環境:  \begin{small} ~ \end{small}

(3)Large環境:  \begin{Large} ~ \end{Large}

■ tiny環境
\begin{tikzpicture}
 \begin{tiny}
  \bXInput{A}\bXLoop[2]{A}{b/$G_1$,c/$G_2$}
 \end{tiny}
\end{tikzpicture}

■ small環境
\begin{tikzpicture}
 \begin{small}
  \bXInput{A}\bXLoop[2]{A}{b/$G_1$,c/$G_2$}
 \end{small}
\end{tikzpicture}

■ Large環境
\begin{tikzpicture}
 \begin{Large}
  \bXInput{A}\bXLoop[2]{A}{b/$G_1$,c/$G_2$}
 \end{Large}
\end{tikzpicture}

■ normal環境
\begin{tikzpicture}
 \bXInput{A}\bXLoop[2]{A}{b/$G_1$,c/$G_2$}
\end{tikzpicture}&%

blox03.png


§6.サンプル集

(1)直列結合

 \begin{tikzpicture}
  \bXInput[x]{A}
  \bXBloc[2]{B}{$G_1$}{A}
  \bXLink{A}{B}
  \bXBloc[2]{C}{$G_2$}{B}
  \bXLink[z]{B}{C}
  \bXOutput[2]{D}{C}
  \bXLink{C}{D}
  \bXLinkName[0.6]{D}{y}
 \end{tikzpicture}

blox04.png


(2)並列結合

 \begin{tikzpicture}
  \bXInput[x]{A}
  \bXBloc[4]{B}{$G_1$}{A}
  \bXLink{A}{B}
  \bXSumb[8]{C}{B}
  \bXLink{B}{C}
  \bXOutput[4]{D}{C}
  \bXLink{C}{D}
  \bXLinkName[.6]{D}{y}
  \bXBranchy[4]{A-B}{u}
  \bXBloc{E}{$G_2$}{u}
  \bXLinkyx{A-B}{E}
  \bXBranchy[4]{C}{v}
  \bXLinkxy{E}{C}
 \end{tikzpicture}

blox05.png


(3)負帰還結合

 \begin{tikzpicture}
  \bXInput[x]{A}
  \bXComp{B}{A}
  \bXLink[r]{A}{B}
  \bXBloc[2]{C}{$G$}{B}
  \bXLink[e]{B}{C}
  \bXOutput[8]{D}{C}
  \bXLink{C}{D}
  \bXLinkName[.6]{D}{y}
  \bXBranchy[5]{D}{E}
  \bXBlocr[8]{F}{$H$}{E}
  \bXLinkyx{C-D}{F}
  \bXBranchy[5]{B}{G}
  \bXLinkxy{F}{B}
 \end{tikzpicture}

blox06.png


(4)調節器+プロセス

 \begin{tikzpicture}
  \bXInput[目標値]{A}
  \bXComp{B}{A}
  \bXLink[r]{A}{B}
  \bXBloc[5]{C}{調節器}{B}
  \bXLink[e 偏差]{B}{C}
  \bXSuma[8]{D}{C}
  \bXLink[y 操作量]{C}{D}
  \bXBloc[2]{E}{プロセス}{D}
  \bXLink{D}{E}
  \bXOutput[4]{F}{E}
  \bXLink{E}{F}
  \bXLinkName[.6]{F}{c 制御量}
  \bXReturn[4]{E-F}{B}{負帰還}
  \bXBranchy[-5]{D}{G}
  \bXLink[外乱]{G}{D}
 \end{tikzpicture}

blox07.png


(5)\bXChainマクロ と \bXLoopマクロ

■ \bXChainマクロ

 \begin{tikzpicture}
  \bXInput{E}
  \bXChain[2]{E}%
  {G1/$G_1$, G2/$G_2$, Gp/$G_p$}
 \end{tikzpicture}

■ \bXLoopマクロ

 \begin{tikzpicture}
  \bXInput[r]{A}
  \bXLoop[1.5]{A}{c/Md,d/kid,e/$4<$}
 \end{tikzpicture}

blox08.png


§7.あとがき

ブロック線図やフローチャートを作成するツールとして flow.exe (.sty でない)があります.

これは,ブロック線図あるいはフローチャートを作成する文法に従い記述し,これを
flow.exe でコンパイルしてLaTeXのpicture環境コードを生成します.これを本文に\inputで
取り込むものです.

もし,試してみたければ, http://www.ctan.org/pkg/flow から flow.zip をダウンロードし,
そこに含まれる flow.c をコンパイルします.たとえば,
gcc -o flow.exe flow.c
とすれば,flow.exe が得られます.マニュアルとして,flowdoc.pdf が含まれています.


EOT
  1. 2014/09/18(木) 07:56:39|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

[LaTeX] pas-tableur -- スプレッドシートの作成 ~初歩の初歩~

pas-tableur -- スプレッドシートの作成 ~初歩の初歩~

§1.概要

LaTeX における表(テーブル)作成の一つの方法として表計算ソフト Excel で作った表を
LaTeX形式(tabular環境)に変換してテキストファイルを出力してくれる Excel2LaTex のような
ツールが存在します.

今回,紹介する pas-tableur パッケージ はスプレッドシートの外観を模倣することを目指し,
LaTeX コード内のスプレッドシートのようなものをレンダリングします.

初歩的な内容となっています.下記のマニュアルを読むとさらに理解が深まることでしょう.

■ インストール

TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
すぐに利用できる状態にあると思われます.

■ マニュアル

コマンドラインから texdoc pas-tableur と打ち込んでください.(フランス語で書かれている)

§2.LaTeX2e 文書での指定方法

プリアンブルに
   \usepackage{pas-tableur} を記述します.

■ pas-tableur.sty が正しく機能するために,次がロードされます.
    - TikZ「calc」ライブラリ
    - xstring
    - xkeyval

§2.1 スプレッドシートの構築コマンド:\tableur と \tableur*

    ● \tableur はセルの幅が固定長となります.
    ● \tableur* はセルの幅が可変長となります.

  スプレッドシートを作成するには,\tableur や \tableur* を tikzpicture環境 で囲む必要があります.

(1)\tableur

  \begin{tikzpicture}
   \tableur[<行番号>]{<カラム>}  \end{tikzpicture}

引数{<カラム>}の指定方法には次の2つの方法があります.

  (その1)
  \begin{tikzpicture}
  \tableur[2]{A,B,C,D}  %---> 列名称を個々に記述{A,B,C,D}
  \end{tikzpicture}

  (その2)
  \begin{tikzpicture}
  \tableur[2]{A-D}    %---> 列名称を範囲指定で記述{A-D}
  \end{tikzpicture}

上記のスプレッドシートは次のようになります.

pas02.png


このマクロでは、デフォルト値は次の通りです.

   - 各行の高さ:1.57em
   - 各列の幅:7em
   - 1列目(行番号を含む)の幅:3em
   - 行数:括弧オプションは知らされていない場合は、1行が存在します.

これらのデフォルト値を変更するには、次のコマンドが使用されます.

  \tabcolwidth{2cm}   % 各列は2cmの幅を有するように
  \tabnumlinewidth{1cm} % 最初の列は1cmを行うように
  \tablineheight{15mm}  % 行ごとに15mmの高さを有する

(2)\tableur*

同じ寸法でないカラムをもつ スプレッドシート を構築します.

  \tableur*{A/2cm,B/4cm,C/1cm,D/4cm}

上記のスプレッドシートは次のようになります.

pas03.png


(3)カラム名

カラムは,ラテンアルファベットのいずれかの大文字を使います.
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

例えば,「AA」をもつカラムを指定することはできません.
行数用として,常に "1"で始まる一貫番号となります.

§2.2 セル用のコマンド

(1)構文:

  \celtxt[<オプション>}{<カラム>}{<行>}{<テキスト>}
オプションは次の通りです.
   - c:テキストはカラムの中心に配置
   - l:テキストはカラムの左側に配置(これはデフォルト値です)
   - r:テキストはカラムの右側に配置
   - width=:カラム幅を指定します
\tableur*. デフォルトでは,幅が7em(各カラムの既定の幅)です.
   - color=:テキストの色.デフォルトの色は黒です.

(2)記述例:

  \begin{tikzpicture}
  \tableur*[2]{M/13mm,N/3cm}
  \celtxt[width=13mm]{M}{1}{=B1^2}
  \celtxt[r,width=3cm]{N}{2}{Du texte ici}
  \end{tikzpicture}

§3.代表的な書式例

  foo.tex
  ■■■■■■■■■■■■■■■■■■■
  %% 文字コード:UTF-8
  
  \documentclass{ltjsarticle}
  \usepackage{pas-tableur}
  %
  \begin{document}
   \begin{tikzpicture}
    \tableur[3]{A-C}
    \celtxt{A}{1}{TEST-1}
    \celtxt{B}{2}{TEST-2}
    \celtxt{C}{3}{TEST-3}
   \end{tikzpicture}
  \end{document}
  ■■■■■■■■■■■■■■■■■■■

  ★ クラスファイルは ltjsarticle を使っていますが,scrartcl や article などでも構いません.
  ★ 文字コードは UTF-8 とします.

■ コンパイルの仕方
  luajitlatex foo.tex
  または
  lualatex foo.tex

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

§4.基本的な例題

  ■■■■■■■■■■■■■■■■■■■
  \documentclass{ltjsarticle}
  \usepackage{pas-tableur}
  %
  \begin{document}
   \begin{tikzpicture}
    \tableur[3]{A-C}
    \celtxt[color=red]{A}{1}{品名}
    \celtxt{A}{2}{りんご}
    \celtxt{A}{3}{みかん}
    \celtxt[color=red,r]{B}{1}{単価(円)}
    \celtxt{B}{2}{100}
    \celtxt{B}{3}{50}
    \celtxt[color=red,r]{C}{1}{個数}
    \celtxt{C}{2}{5}
    \celtxt{C}{3}{10}
   \end{tikzpicture}
  \end{document}
  ■■■■■■■■■■■■■■■■■■■

pas01.png


§5.セルの選択とハイライト

(1)単一セルを選択する

セルを強調表示するためには selecCell コマンドがあります.

   \selecCell{column}{row}

(2)複数のセルを選択する
1つではなく,セルのグループを強調表示すためには multiSelec コマンドがあります.

   \multiSelec{column range}{row range}

§6.色の変更

(1)デフォルトの色
% ヘッダ
   \definecolor{blueSelecCellTop}{cmyk}{0.52,0.17,0,0}
   \definecolor{blueSelecCellBottom}{cmyk}{0.75,0.34,0,0}

% 選択したセルの場合
   \definecolor{blueSelec}{cmyk}{0.23,0.06,0,0}

(2)色の変更は cmyk の値を変更します.

EOT

  1. 2014/09/02(火) 08:58:26|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0