TeraPadのツール機能を使ってTeXのビルドをさせてみる

環境

下記の記事では以下に列挙するソフトウェアが全てUSBの``(usbのドライブレター?)\usr''にあるものとする.

  • w32tex (バージョンは不明)
  • Terapad
  • (SumatraPDF ) ビルド後に開くように設定する場合

参考サイト

らいざーくの自由帳 TeraPadとコンパイラをうまく組み合わせる方法。

TeraPad ツールのヘルプ

手順

  1. batファイルの作成
  2. TeraPadの設定
  3. ビルド

ほとんど参考サイトの1個目の模倣なので強い人は一個目見ればわかりそうです.

batファイルの作成

ビルドするためのbatファイルを作成してTeraPad.exeと同じフォルダに保存します.

作成するbatファイルの中身は以下のようにします.

@echo off 

echo %%0=%0
echo %%1=%1
rem texファイルのビルド
%~d0\usr\w32tex\bin\platex %1 -interaction=nonstopmode
rem pdf作成
%~d0\usr\w32tex\bin\dvipdfm  %~n1.dvi
pause
exit /b

※入れているtexによってdvipdfmxじゃないとpdf化が出来ない場合がある模様.普段dvipdfmxでやってるひとは変更して下さい.

なお, パスの部分は個人の設定に合わせて調整してください.

また,

  • echo%%0=%0等でどの引数に何が割り当てられているか確認しています.
  • pauseでビルド終了後もウィンドウを開いたままにします.

どちらも動作に直接の影響はないので不要な場合は消しましょう.

編集が完了したらplatex_build.batとか適当な名前を付けてTeraPad.exeと同じフォルダに保存します.

TeraPadの設定

次にTeraPadを起動してツール設定からツールを登録します.

ツール->ツールの設定を開くと「ツールの設定ウィンドウ」が開きます. f:id:ryuna_tec:20181224233221p:plain

「追加」を推してツールを次のように設定します.

f:id:ryuna_tec:20181224234137p:plain

実行ファイル名は作成したbatファイル名に設定します.

また,キーに任意のショートカットを登録すると登録したキーからツールを呼び出すことが可能です.今回は「Ctrl+Shift+B」に登録します.

%p,%dは二個目の参考サイトを参照してください.

実行

最後にビルドしたいtexのファイルを開いて設定したショートカットキー(Ctrl+Shift+B)を押してツールを使用します.

f:id:ryuna_tec:20181224235634p:plain

こんな感じなら大丈夫です. お疲れさまでした!

 おまけ

上の奴だと実行した後,

  • pdfを開く必要がある
  • AdobeReaderだとビルドの度PDFを消す必要がある

など大変面倒です.そこで楽をするためPDFを開いていても上書きが出来るSumatraPDFを使ってビルド後PDFが勝手に開くようにbatファイルを変更しましょう.

@echo off 

echo %%0=%0
echo %%1=%1

rem texファイルのビルド
%~d0\usr\w32tex\bin\platex %1 -interaction=nonstopmode
rem pdf作成
%~d0\usr\w32tex\bin\dvipdfm %~n1.dvi
rem pdfを開く
%~d0\usr\SumatraPDF\SumatraPDF %~n1.PDF
pause
exit /b

また,pdfだけ表示すればいいやという人は次のように書き換えましょう.

@echo off 
rem texファイルのビルド
%~d0\usr\w32tex\bin\platex %1 -interaction=nonstopmode
rem pdf作成
%~d0\usr\w32tex\bin\dvipdfm %~n1.dvi
rem pdfを開く
%~d0\usr\SumatraPDF\SumatraPDF %~n1.PDF
exit 

備忘録:KiCadのBOMリストを見やすく

結論

KiCadの部品表の生成を行う際は,このブログの方法で行えば, FootprintやValueごとに素子をまとめ直して従来のcsvよりも使いやすいものに変換される.

https://www.usagi1975.com/06jul172022/

注意点

同じ分類にしたい場合Reference以外すべて同じにする.つまり:

  • 回路設計時,同じ素子は同じvalueにする(大小文字区別される)
  • Valueが同じでも素子を変えたい場合Cvpcb等でフットプリントを変える

1について,valueが違えばリスト変換時ばらける. f:id:ryuna_tec:20180322175351p:plain

2について,valueが同じでもフットプリントが違えばばらける.(0805,0603など分けたい場合便利)

終わり

通常,回路設計を行う場合,

  • 今ある素子で設計する
  • 設計した後に素子を買う

ことになると思いますが,大体は後者だと思います.   回路の部品点数が少ない場合,回路をじーっと見て秋月等に飛んで発注すればいいですが, 大規模になると分けが分からなくなってきます.リストにまとめて調べ直す回数を減らそう

PCの中を光らせたい Part1


長い前置きと無駄なストーリー

前にPCを新調するときデスクトップPCにしようと思って友人に相談してPCを自作しました.

この友人,CaseMODが好きで自身のケースにも透過液晶を取り付けるような人でした.

そんな友人に自作を教えてもらったのでCaseMODに興味を持つのは当たり前です.

そして買ったケース kakaku.com

両側面が強化ガラスになっていて

  • 中がスケスケ
  • パネルの取り付けは化粧ネジ

なので,同サイズのアクリルを用意すれば透過液晶の取り付けもできなくはないのがいい点です.ハイ価格comで上位でした

はい,せっかく中身が見えるケースを買ったので,LEDテープや光るファンを取り付けられたらいいですねー.

Aura Sync

現状で色々なものを光らせるといえば,Aura Syncを使うのが手っ取り早いです. 対応製品は各社から発売されていて対応するマザーボード刺せば,専用アプリAura Syncで一括管理ができます.

対応製品のリストはこちらが参考になるかもです. ascii.jp

多岐にわたり製品が販売されているので買えばすぐにピカピカにできます. ですが,製品一つ一つが高価格なのでまぁ課金しないとできない遊び...になってしまいます.

そんな課金したくないです

既製品は高いので自作すればきっと安いはずです...無駄に時間かかるんですけど...

ひとまず安いRGBLEDがついてる ファンAmazon CAPTCHA を買いました.

このファンは;

  • 3つで3.7k円
  • ws2812だったかのLEDテープ内臓
  • ファンは電圧制御

と,マイコンで色を自由に弄ることが出来てそれなりに安い製品です. この型番のLEDテープはよくある型番なので,アリエクで5メートル単位で売ってます. そのためケースの装飾に使うLEDテープにも相性がいいです.今後はこのファンのLEDと回転速度を制御していくことにしましょう.

まとめ

今後は購入したRGBファンとLEDテープ(まだ買ってない)をマイコンで制御させようと思います. 色とファンの速度は自由に変えれるように出来たら楽しいので, 以下取り組んでいこうと思います.

  • PCファンとLEDテープを制御するマイコンを含めた回路の作成
  • 光らせるプログラムの作成
  • windowsのアプリから色を操作できるようなソフトの作成

について順次行っていきたいと思います.

なお,現状はこんな感じ.(10月のはなし.だいぶ前やん)

  • ケース  f:id:ryuna_tec:20180315203527j:plain
  • ファンの制御

sublime textでmarkdown記法で書いてリアルタイムプレビューとかしたい

今まで(約1ヶ月)boostNoteを利用してMarkdown記法により文章を書いていた.

boostNoteは;

  • markdownで書いて,プレビューをするときに同一画面で確認ができる(画面が散らからない)
  • 画像はドラック&ドロップで投げれるから楽ちん
  • タグをつけることで管理と検索が容易
  • ファイル管理が要らない

等々...
自分が使ってる範囲内では以上のことが利点でした. 一方で;

  • potable版がない..っぽい
  • 箇条書きがうまくいかない
  • 画像の読み込みバグ
  • pdfとかに変換できなそう(未調査

みたいな欠点があります.僕的に一番致命的なのはポータブル版がないことで, USBにソフトを入れて持ち歩く身としては不便です.

ということで,boostNoteめちゃくちゃ便利で名残惜しいんですが,いつも使ってるSublimeTextで機能の置き換えをしました.

結論はよくある話なので参考にしたサイトを上げます.

Sublime Text で Markdown を快適にする3つのパッケージ - 情報系大学院生のWebメモ

OmniMarkupPreviewerでブラウザプレビューすると404エラーになる | INCOMPLETE++

ありがとうございました.

パッケージをインストールしただけで簡単ね.このほかPDFに変換するパッケージもあるみたい.便利すぎかよ.

使った感想ですが,図の挿入をする際にリアルタイムプレビューだと読み込まないっぽい. exportしてhtmlにすると見える.少しだけ不便だ.

TeXで図を書きたいこともある

TeXに図を載せるとき,普段はVisioからepsファイルを作ってるけど, 簡単な図はわざわざVisioを起動しないで書きたいときもたまにある.

そんな時のための備忘録です.

必要なもの

tikzのパッケージとTeX本体

手順

\usepackage{tikz}を上のほうに追加しよう. あと,

\documentclass[11pt,a4paper]{jsarticle}
\usepackage[dvipdfmx]{graphicx}

じゃなくて

\documentclass[11pt,a4paper,dvipdfmx]{jsarticle}
\usepackage{graphicx}

にしないと図が次元のかなたに消える模様.

ブロックがいくつか→でつながった何かを書きたい.

\begin{tikzpicture}[every node/.style={rectangle,draw=black, fill=white, text width=2cm, text centered, minimum height=1.5cm}]
   \node (a) at (0,0) {ふふふ}; 
   \node (b) at (3,0) {えへへ};
   \node (c) at (6,0) {おほほ}; 
   \node (d) at (9,0) {ひひひ}; 
   \draw[->] (a) -- (b);
   \draw[->] (b) -- (c);
   \draw[->] (c) -- (d);
\end{tikzpicture}

みたいに書くと横幅:2cm,最低高さ:1.5cmの箱の中に文字が書かれて4つ並ぶ.またdrawで矢印をかける.

f:id:ryuna_tec:20170529222207p:plain

こんな感じ.

本当はいろいろな書き方ができるけどもう面倒くさいしコンパイル通らないと嫌になっちゃうのでわかりやすく書くことが重要だと思いました○.

visual studio みたいにsublime Textでもctrl+k,cでブロックのコメントアウトをしたい

c++のプログラムを学校で書くときは,visual studioctrl+k,cでブロックのコメントアウトをしているけど

家ではもっぱらSublime Textで添削をしている.

Sublime Textでも ctrl+k,cでブロックのコメントアウトをしたい!

Sublime Textのキーバインド

sublime Textのキーバインド

Preferences - Key Bindings

から見れて,USERのほうに好きなのを書けば割り当てられる.ただし既に存在するキーバインドと競合する場合があるので注意.

sublime textでのブロックのコメントアウトは,

{ "keys": ["ctrl+shift+/"], "command": "toggle_comment", "args": { "block": true } }

より,ctrl+shift + /で行うことができる.

このほかのコマンドの名前などは下記URLに載ってる.

Sublime Text - Commands

これをUSERのほうでkey設定だけ変えれば好きなショートカットに割り当てられる.

キーを二回押して任意のショートカットを割り当てたい場合は

"ctrl+k","ctrl+c"みたいに分ければいい.下記URL参照

https://www.techportal.co.za/software-applications-hardware/181-other/sublime-text-3/534-how-to-indent-the-same-way-as-visual-studio-ctrl-k-d-in-sublime-text-3.html

なので,最終的にUSERのところに次のような文を足せば目的は達成できる.

{ "keys": ["ctrl+k","ctrl+c"], "command": "toggle_comment", "args": { "block": true } }

ちなみに最後の{ "block": true }truefalseに変えると/*//に変わるよう.お好みでどうぞ.

また,挿入する文字も変更可能なよう.下記URLを参照してください.

灯火: Sublime Text : コメントアウトコマンド(Toggle Comment)で挿入される文字列を設定する

Sublime Text 経由でgnuplotを使う

Sublime Textとgnuplotを連携させれば,開いてるcsvファイルからグラフ描ける,それって便利じゃね?

というわけで,今回は連携の第一歩として,Sublime Textのbuild systemを使って編集しているdatファイル(csvみたいなの)からepsファイルを作成する方法についてまとめる.

※今回の内容では軸ラベルなどの設定は手動で行う必要がある.すなわち,gpファイルを作成してわちゃわちゃするのと大差はない. だけど,ファイル名くらいは変えれるし,コマンドを毎回打つのは面倒だし,Sublime Textはいつも開いてるからコマンドプロンプト代わりにはなるはず.

準備段階として

本稿の内容をやる前に入れとかないと駄目

  • Sublime Textをインストールする
  • gnuplotをインストールする.
  • 何らかのepsを開くソフトを用意する(作成する図をpngとかにすれば不要)

今回の内容の3ステップ

  1. batファイルを呼び出すためにsublime-bulidファイルを作成する
  2. gpファイルの代わりになるbatファイルを作成する.
  3. ctrl + Bでepsが作成される.

詳しいやり方

sublimetextで図を作成する文を書くためにはまず,その文がcmdで使えるかを確認する.

コマンドプロンプトからgnuplotを開く

cmdで適当な数式のグラフを見たい場合

   > gnuplot -e "plot sin(x);pause -1"

このpause -1がないと一瞬でグラフ描画を終えるので必須

cmdでplt(gp)をloadしたい場合

> gnuplot -e "load `test.plt`"

ちなみにtest.pltの中身は以下.

set title "this is test"
plot sin(x)/x

以上から,cmdでgnuplotが開けることが理解できる.

Sublime Textのbuild systemから図を作成する

例にもよって,sublime-buildに直接起動文を書きたいがうまくいかないのでbatファイルから起動する.

sublime-buildの中身

開くだけ;

{
    "cmd": [
        "${packages}\\User\\gnuplot.bat","$file_base_name"
    ],
    "shell":true
}

gnuplot.sublime-buildとか名前つけて保存. 作成した図を開きたい場合は適当に起動するための文を追加する.

gnuplot.batの中身

今回は保存形式:epsでoutputするファイルの名前を編集しているdat(csv)ファイルの名前にした2列のデータを対象にbatファイルを設定する.

@echo off
set PATH=%~d0\usr\gnuplot\bin;%PATH%
start gnuplot -e "set terminal postscript eps color enhanced;set output '%1.eps';plot '%1.dat' using 1:2 notitle w l;"
exit /b 0

呼び出す場合は;で改行になるらしいので,ラベルの設定とかも足そう. 軸の名前が変わるたびにbatファイルを設定し直す必要があるが. まぁ今回は基本構成で動くの確認できればokなのでこれで問題なし.

実行結果

念のためgnuplot/demoにある1.datを用いてグラフの描画を確認する. 1.datを開いた状態でctrl + Bで同じディレクトリにepsファイルが作成される.

f:id:ryuna_tec:20170515141512p:plain:w500

※ブログに載せる都合上pngにして作成している.

という感じでeps画像が作成できることが確認できる.

まとめ

Sublime Textのbuild systemを使って内部でgnuplotを開いて図を作れるようになった. そんなに便利じゃないけど2列のcsvとかならエクセル開いてグラフ作成よりか高速で波形の確認ができるね.

batファイルからcsvとかdatファイルの先頭にある軸ラベルとかの内容が読み込めたら強いんだけどなぁ.

余談だけど,markdown方式で書いてるけどあんまりいい感じに出力されてくれない.書き方を教えてほしいです.