天地有情

[LaTeX] multido --- 汎用TeX用のループマクロ

multido --- 汎用TeX用のループマクロ

§1 はじめに

このマクロは,図形を描くために有用です.元々,pstricksのパッケージのために開発されています.
しかし,演算など他の目的のためにそれを使用することもできます.特別な機能として,固定小数点加算を
サポートしています.

1.1 インストール

TeXLive/W32TeX などには標準でインストールされています.

1.2 マニュアル

コマンドラインから texdoc multido を実行してください.

§2 使い方

2.1 プリアンブルに
   \usepackage{multido} を記述します

2.2 主コマンド

  \multido{variables}{repetitions}{stuff}

variables は,変数宣言をカンマで区切ったリストです.各変数宣言の形式は次のとおりです.

variable = initial value + increment

variable は、stuff を使用することができるコマンドシーケンスです.

最初に、initial に初期値が設定され,反復で増分だけ increment されます.

2.3 変数名

variableの最初の文字は変数の型を決定します.以下の4つのタイプがあります.(大文字,小文字が利用できます.)
なお,変数名には英数のサフィクス(接尾語)を付加することができます.

● Dimension (\d or \D)
初期値と増分は"寸法"でなければなりません.置換テキストは,SP単位での寸法です.
E.g., \dx=4cm+5pt

● Number (\n or \N)
初期値と増分は小数点以下の桁数が同じ整数または数値でなければなりません.初期値が整数の場合は,例外です.
整数部と小数部で最大で8桁の場合もあります.置換テキストはnumberで,固定小数点加算をサポートします.
E.g.,\n=3+7.05, \Nx=5.30+-1.25

● Integer (\i or \I)
初期値と増分は、整数でなければなりません.
これは、Number変数を使用した場合と同じ結果を与えますが,高速版です.
E.g.,\I=2+-1

● Real (\r or \R)
初期値と増分は、小数点の両側に高々4桁の整数でなければなりません.置換テキストはnumberです。
これは、number変数を使用するよりも満足のいく結果が得られ,高速版です.
E.g., \ry=4.2+1.05

2.4 いくつかの変数の使用例

multido01.png


§3 サンプル

(1)例ー1

multido02.png


(2)例ー2

multido03.png

(注) eepic.sty 登録要

(3)例ー3

multido04.png


(4)例ー4

multido05.png


(EOF)
スポンサーサイト
  1. 2016/01/28(木) 13:01:09|
  2. LaTeX Tools

[LaTeX] philex --- linguexリスト作成のエンハンス版

philex --- linguexリスト作成のエンハンス版

§1 はじめに

philexパッケージは,linguexにいくつかのコマンドを再定義し,named または numbered が付けられている
リスト環境への相互参照がきます.linguexパッケージのエンハンス版となっています.
linguex パッケージ については,ここのブログ をご参照ください.

さて,LaTeX標準のリスト環境は,例えば

\begin{itemize}
 \item ....
 \item ....
\end{itemize}

のように記述しますが,少しばかり煩わしいです.このような書き方を簡素化したものが
linguex パッケージ であり,これを拡張したものがphilexパッケージです.

1.1 インストール

TeXLive/W32TeX などには標準でインストールされています.

1.2 マニュアル

コマンドラインから texdoc philex を実行してください.

§2 使い方

● プリアンブルに
   \usepackage{philex} を記述します

● リストの階層
   第1~第3レベルまで用意されています.
   トップレベル(第1レベル)とサブレベル(第2レベル,第3レベル)に分けられます.
   項目ラベルは次の順に付けられます.
   (1), (2), (3), ... → (a), (b), (c), ... → (i), (ii), (iii), ...
   [第1レベル]   [第2レベル]   [第3レベル]

● 主なコマンド
   トップレベル環境用  -- \lb, \lbu, \lbp, \lbpx
   サブレベル環境用   -- \lba , \lbb , \lbz

(注) サブレベル環境用コマンドは単独では利用できません.トップレベル環境用の引数として利用できます.
   後述の「使用例」をご覧ください.

● 簡単な書式例

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
\documentclass{jsarticle}
\usepackage{philex}
\begin{document}
  ここに トップレベル環境用 または サブレベル環境用 コマンドを記述
\end{document}
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


2.1 サンプルA

トップレベル環境の基本コマンド \lb{<label>}{<content>} を使った例を示します.

● 使用例ー1

) philex01.png


★ 項目ラベルは (1), (2), (3), ...がデフォルトです.
★ 項目ラベルは \rf{<ラベル名>} コマンドで参照できます.
★ linguex.sty のように行間に 空白行 あるいは \par を挿入する必要はありません.


● 使用例ー2

\setcounter で項目ラベル(項番)を変更する例を示します.ExNoカウンタを使用します.

philex02.png


★ \setcounter{ExNo}{10} とすると項目ラベルは(11), (12), (13), ...に設定されます.
★ \setcounter{ExNo}{0} とすると項目ラベルは初期化され (1), (2), (3), ...デフォルトに設定されます.


● 使用例ー3

接尾辞を付けるコマンド \lbu{<new-label>}{<old-label>}{<suffix>}{content} を使った例を示します.

★ 最初に挙げた例に対して接尾辞(1'), (2'), (3') を付けます.

philex03.png



● 使用例ー4

名前環境のコマンド \lpb{<label>}{Name}{<content>} を使った例を示します.

philex04.png


★ 名前環境の接尾辞を付ける場合は前出の \lbu コマンドを使います.


● 使用例ー5

すべてのトップレベル環境では、テキストを "中央配置" するオプション [c] の指定ができます.

philex05.png



● 使用例ー6

位置合わせ:\eqmakebox(水平方向の配置)
eqparbox.styを登録し,この中にある
\eqmakebox [<tag>] [<pos>] {<text>} を使います.

philex06.png



● 使用例ー7

prefixed numbering with \lbpx & lbx

xは a,b,c,d のいずれか一つです.
\bpxformatでリストをフォーマットすることができます.

philex07.png



2.2 サンプルB

サブレベル環境のコマンド \lba, \lbb, \lbz を使った例を示します.
これらは,トップレベルコマンドの最後の引数にサブ環境が埋め込まれなければなりません.


● 使用例ー8

\lba, \lbb, \lbz を使った例です.

philex08.png



● 使用例ー9

3レベルまでの構成例です.

philex09.png



● 使用例ー10

名前環境とサブ書式設定コマンド \subformat, \subsubformat

philex10.png



● 使用例ー11

サブ書式設定コマンド \subformat, \subsubformat を使わず,デフォルトとした場合の
例を示します.

philex11.png


(EOF)



  1. 2016/01/24(日) 09:27:16|
  2. LaTeX Tools

[LaTeX] linguex --- 簡潔なリスト環境を生成

linguex --- 簡潔なリスト環境を生成

§1 はじめに

LaTeX標準のリスト環境は,例えば

\begin{itemize}
 \item ....
 \item ....
\end{itemize}

のように記述しますが,少しばかり煩わしいです.このような書き方を簡素化したものが
linguex パッケージです.itemize環境,enumerate環境,description環境などに拘らなければ
リスト作成は本パッケージで十分に対応できます.

1.1 インストール

TeXLive/W32TeX などには標準でインストールされています.

1.2 マニュアル

コマンドラインから texdoc linguex を実行してください.

§2 使い方

● プリアンブルに
   \usepackage{linguex} を記述します

● リストの階層
   第1~第3レベルまで用意されています.
   項目ラベルは次の順に付けられます.
   (1), (2), (3), ... → (a), (b), (c), ... → (i), (ii), (iii), ...

● 主なコマンド
   第1レベル用  -- \ex.
   第2レベル用  -- \a. , \b. , \c. , \d. , \e. , \f. , 以降は \f. を継続させる.
   第3レベル用  -- \a. , \b. , \c. , \d. , \e. , \f. , 以降は \f. を継続させる.
   第3から第2レベルへの戻り用  -- \z.

● 簡単な書式例

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
\documentclass{jsarticle}
\usepackage{linguex}
\begin{document}
\ex. ここは第一レベル  (1)
 \a. ここは第二レベル    (a)
 \b. 同上            (b)
 \c. 同上            (c)
  \a. ここは第三レベル      (i)
  \b. 同上              (ii)
  \c. 同上              (iii)
  \z. 第二レベルに戻る
 \d. ここは第二レベル    (d)
 \e. 同上            (e)
←空行とする(または \par)
\ex. ここは第一レベル  (2)
 \a. ここは第二レベル    (a)
 \b. 同上            (b)
 \c. 同上            (c)
←空行とする(または \par)
\end{document}
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

2.1 サンプル

● 使用例ー1

linguex01A.png


● 使用例ー2

linguex02A.png


● 使用例ー3

  各層のラベルの文字列指定 --- description風

linguex03A.png

● 使用例ー4

  アイテムシンボルの継続 --- itemize風

  (第1階層ではアイテムシンボルを継続させることができます.)


linguex04A.png

● 使用例ー5

  ラベルを enumerate風 に変更

philex05A.png


● 使用例ー6

  カウンタ(\ExNo)の設定

☆ \ex. による項目番号は1からの一貫番号となります.(デフォルト)
☆ これをリセットして再度,任意番号からの一貫番号とするには次を指示します.
\setcounter{ExNo}{n} (項目番号はn+1 から始まります.)

philex06A.png

(EOF)


  1. 2016/01/20(水) 08:48:21|
  2. LaTeX Tools

[OrCAD] OrCADによる「積分器を用いた二次遅れ系の過渡応答」編

OrCADによる「積分器を用いた二次遅れ系の過渡応答」編

入力信号 R(s) と出力信号 C(s) の入出力関係が次式で示される伝達関数 G(s) を 二次遅れ要素 といいます.
s はラプラス変数を示します.

2nd_lag0A.png


この G(s) に入力信号として,ステップ信号を印加した場合の出力信号(過渡応答)をステップ応答といいます.
本編では二次遅れ要素に対する ステップ応答 を調べます.

なお,OrCADの基本的な操作は ”OrCAD による「電気・電子回路設計」事始め” をご覧ください.

§1 積分器を用いた二次遅れ系の過渡応答

二次遅れ系の過渡応答は3つのカテゴリに分類されます.それらは 過制動臨界制動 そして 不足制動 です.
条件(減衰率)により振動したり(不足制動),振動するかしないかの限界(臨界制動)だったり,非振動(過制動)の現象となります.

【豆知識】∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽
二次遅れ要素の伝達関数の標準形式は(1)式で表され,積分器を用いた二次遅れ系の伝達関数は(2)式で示されます.
(1)式と(2)式を対比すると(3)式と(4)式が得られます.

なお,式中の T は積分時間を,H はフィードバック要素の伝達関数を表します.

2nd_lag0B.png


ζ(減衰率) の値が
   (1)0<ζ<1 のとき出力は振動的(不足制動)
   (2)ζ=1 のとき出力は非振動的(臨界制動)
   (3)ζ>1 のとき出力は非振動的(過制動 )
となります.
∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

1.1 例題

積分器を用いて 式(2) を満足するブロック線図を次に示します.

2nd_lag01.png


積分器の伝達関数は 1/(Ts) で T は積分時間と呼ばれ,Gain(H) は 式(4)から H=2ζ(∴ ζ=H/2 ) となります.
ここで,
T=10秒,H=0.4(ζ=0.2), H=1.0(ζ=0.5), H=2.0(ζ=1.0) としたときの出力電圧を 0s~200s までのトランジェントを行います.

1.2 回路図と設定値

(1)パラメータ設定値

部品名       シンボル  設定値
------------------+--------------+-----------------------------
電源        V1~V3     1vac vpwl(0,0 10us,12v 10ms,1v) --(時間,電圧)の対;step信号を生成
抵抗        R1~R3     1kΩ
積分器       INTEG      Gain=0.1(この逆数が積分時間で10秒), IC=0v(初期電圧)
比較器       DIFF      IN2-IN1=OUT
------------------+--------------+-----------------------------

(2)回路図

2nd_lag02.png


(1) H=0.4 (これはζ=0.2に相当する) --- 振動 (不足制動)
(2) H=1.0 (これはζ=0.5に相当する) --- 振動 (不足制動)
(3) H=2.0 (これはζ=1.0に相当する) --- 非振動(臨界制動)


1.3 シミュレーション

(1)シミュレーション設定

Analysis type = Time Domain(Transient)
Option = General Settings
Run to time = 200sec
Start saving data after = 0sec


(2)シミュレーション結果

2nd_lag03.png



(EOF)
  1. 2016/01/09(土) 13:46:59|
  2. OrCAD

[OrCAD] OrCADによる「過渡現象」編

OrCADによる「過渡現象」編

すべての回路は最初にエネルギーが与えられるとき,少なくとも短時間の過渡条件を受けるであろう.
以下の回路で過渡現象を調べてみます.

基本的な操作は ”OrCAD による「電気・電子回路設計」事始め" をご覧ください.

§1 RL回路でスイッチを開閉するときの動作

1.1 例題

R=100Ω ,L=0.1H,V=DC1Vのときの主電流Iを 0~10ms までのトランジェントを行います.


1.2 回路図と設定値

(1)パラメータ設定値

部品名       シンボル  設定値
------------------+----------+---------------------------------
電源        V1     1vdc vpwl(0,0 10us,1v 10ms,1v) --(時間,電圧)の対;step信号を生成
抵抗        R1     100
誘導性リアクタンス L1     0.1H
スイッチ      U1     Sw_tClose (0)
------------------+----------+---------------------------------

(2)回路図

kado01.png



1.3 シミュレーション

(1)シミュレーション設定

Analysis type = Time Domain(Transient)
Option = General Settings
Run to time = 10ms
Start saving data after = 0ms


(2)シミュレーション結果

kado02.png



【考察】
● 電流が即座にその最終値 V/R=10mA にはならず指数関数的に立ち上がる.
● 時定数 γ=L/R は電流が最終値の 63.2% に達するまでの時間である.この場合は 1msec である.


§2 RC回路でスイッチを開閉するときの動作

2.1 例題

R=10kΩ ,C=0.1uF,V=DC1Vのときの主電流Iを 0~10ms までのトランジェントを行います.


2.2 回路図と設定値

(1)パラメータ設定値

部品名       シンボル  設定値
------------------+----------+---------------------------------
電源        V1     1vdc vpwl(0,0 10us,1v 10ms,1v) --(時間,電圧)の対;step信号を生成
抵抗        R1     10k
容量性リアクタンス C1     0.1uF
スイッチ      U1     Sw_tClose (0)
------------------+----------+---------------------------------

(2)回路図

kado03.png



2.3 シミュレーション

(1)シミュレーション設定

Analysis type = Time Domain(Transient)
Option = General Settings
Run to time = 10ms
Start saving data after = 0ms


(2)シミュレーション結果

kado04.png



【考察】
● 電流が即座にその最終値 V/R=0A にはならず指数関数的に立ち下がる.
● 時定数 γ=CR は電流が最終値の 36.8% に達するまでの時間である.この場合は 1msec である.


§3 RLC直列回路でスイッチを開閉するときの動作

RLC直列回路のとき,過渡応答は3つのカテゴリに分類されます.それらは過制動,臨界制動そして不足制動です.
条件により振動したり(不足制動),振動するかしないかの限界(臨界制動)だったり,非振動(過制動)の現象となります.
RLC直列回路は二次遅れ要素であり次のような特徴があります.

【豆知識】∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽
二次遅れ要素の伝達関数の標準形式は(1)式で表され,RLC直列回路の伝達関数は(2)式で示されます.
(1)式と(2)式を対比すると(3)式と(4)式が得られます.

kado05A.png


ζ(減衰率)の値が
   (1)0<ζ<1 のとき出力は振動的(不足制動)
   (2)ζ=1 のとき出力は非振動的(臨界制動)
   (3)ζ>1 のとき出力は非振動的(過制動 )
となります.
∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

3.1 例題

L=10mH,C=1.56nF,V=DC12Vのときの出力電圧を 10us~10ms までのトランジェントを行います.

3.2 回路図と設定値

(1)パラメータ設定値

部品名       シンボル  設定値
------------------+----------+---------------------------------
電源        V1~V3     12vdc vpwl(0,0 10us,12v 10ms,12v) --(時間,電圧)の対;step信号を生成
抵抗        R1~R3     R1=200, R2=160,R3=60
誘導性リアクタンス L1~L3     10mH
容量性リアクタンス L1~L3     1.56uF
スイッチ      U1~U3     Sw_tClose (0)
------------------+----------+---------------------------------

(2)回路図

kado06.png


(1) R=200Ω(これはζ=1.56に相当する) --- 非振動(過制動)
(2) R=160Ω(これはζ=1.0に相当する) --- 非振動(臨界制動)
(3) R=60Ω (これはζ=0.14に相当する)--- 振動 (不足制動)

※ 式(4)にRの数値を代入して確認できます.

3.3 シミュレーション

(1)シミュレーション設定

Analysis type = Time Domain(Transient)
Option = General Settings
Run to time = 10ms
Start saving data after = 10usec


(2)シミュレーション結果

kado07.png



(EOF)
  1. 2016/01/05(火) 09:12:09|
  2. OrCAD