スキップしてメイン コンテンツに移動

投稿

2015の投稿を表示しています

tikzを使って行列の外に書き込みをする。

次のようなtweetを見つけました。 TeX/LaTeX でコレ組めますかね? (画像や picture 環境の類を使うのはナシで) pic.twitter.com/u6E1dQwEnz — ワトソン (@Watson_DNA) 2015, 11月 29 以前にmultirow.styとbigdelim.styを使って行列の外に書き込みをした次のような図を作ったことがあります。 しかし、最近覚えたtikzのmatrixライブラリを使えば上記のtweetの画像により近いものを再現できそうなので試してみました。tikzの使用は上のtweetの趣旨から外れていると思いますが、結果は次のようになりました。 以下にソースを貼り付けておきます。 \documentclass[a4paper,10pt,dvipdfmx]{jsarticle} \usepackage{amsmath} \usepackage{tikz} \usetikzlibrary{math,matrix,backgrounds} \begin{document} \begin{equation} P_n(i, j) = \hspace{-8ex} \begin{tikzpicture}[% baseline=(m.west), every left delimiter/.style={xshift=1ex}, every right delimiter/.style={xshift=-1ex}] \matrix(m)[matrix of math nodes,nodes in empty cells, ampersand replacement=\&, left delimiter={(},right delimiter={)},% inner sep=0.8ex] { 1\&\&\&\phantom{1}\&\&\&\&\phantom{1}\&\&\&\ \&\&\&\&\&\&\&\&\&\&\ \&\& 1\&\&\&...

Springtime Carnivore

Gold MotelのGreta SalpeteがSpringtime Carnivore名義でアルバムを出していたことに最近ようやく気付きました。Gold Motelの音沙汰が聞こえてこないので、facebookを見てみたところ、実質的に活動停止の状況にあるようです。最近の書き込みはGretaさんがSpringtime Carnivoreを宣伝するものばかりでした。 セルフタイトルアルバムが非常に良かっただけに、活動休止状態なのは残念です。 しかしSpringtime Carnivoreのセルフタイトルアルバムもかなりの良作でした。 two scarsが凄く気に入っているのですが、アルバム収録のものとミュージックビデオのものはバージョンが違っていて、アルバムバージョンはボーカルにエコーが掛かりすぎていてあまり好みではありません。アルバムの前に7inch vinyl版を出しているようで、そちらに収録されているバージョンがYouTubeの動画のバージョンのもののようです。 Springtime Carnivore :: Collectors from Eddie O'KEEFE on Vimeo . Springtime Carnivore - Creature Feature from Eddie O'KEEFE on Vimeo .

Maritime "Magnetic Bodies/Maps of Bones"

Maritimeの新作"Magnetic Bodies/Maps of Bones"が発売されました。 こちら で全曲試聴可能です。Youtubeにも新曲を含めたライブの音源がアップロードされています。 今作も傑作です。1曲めの"Nothing is forgot"から打ちのめされてしまいました。 amazonでCDは注文したけれど、海外発送で到着までもうしばらくかかりそうです。試聴ですでに20回くらいループしてしまいましたが。 アルバムには先行で発表されていた"Milwaukee"が含まれていないようなので、こちらもMVを貼り付けておきます。

Tikzを使って行列を装飾する。

Tikzを使って行列の装飾をしてみました。特定行の背景を色付けすることと、矢印を引っ張ってコメントを付ける試みをしています。 矢印を描く部分は、図画間結合(inter-picture connections)を使っています。これはremember pictureオプションを使って、自分以外のtikzpicture環境にあるノードを参照する機能だそうです。通常のplatex+dvipmdfx環境では使うことができないため、zrbabblerさんのblog「マクロツイーター」の記事「 Tikzはdvipdfmxをどこまでサポートするか?(2) 」に紹介されているpxpgfmarkパッケージを使いました。図画間結合については同記事に詳しい説明がなされています。 追記:2019/04/05:図画間結合がplatex/uplatexについてもサポートされたようで、pxpgfmarkパッケージは必要なくなりました。 上の式を出力するためのソースは次の通りです。 \documentclass[dvipdfmx]{jsarticle} \usepackage{amsmath} \usepackage{mathtools} \usepackage[svgnames]{xcolor} \usepackage{tikz} \usetikzlibrary{matrix,fit,backgrounds,calc} \usepackage{pxpgfmark}%e-ptexでremember pictureを可能にする. \begin{document} \begin{align*} & b_{11}^{k-1} |b11b1kb21b2k\multicolumn3cbk1bkk| = \begin{tikzpicture}[remember picture,baseline=(T1.west), every left delimiter/.style={xshift=1ex}...

tikz-cdで可換図を描いてみた。

横幅が広すぎる可換図をページ内に収めるため、tikz-cdのマニュアルを参考に複数行にわたる可換図を描いてみました。 次はできあがった図の画像です。 ソースは以下の通り。 \documentclass[10pt,a4paper]{article} \usepackage[dvipdfmx]{graphicx} \usepackage{amsmath,amssymb} \usepackage{tikz} \usetikzlibrary{calc} \usetikzlibrary{cd} \begin{document} \begin{equation*} \begin{tikzcd}[column sep=small] H_{n+1}(S_\ast(U)+S_\ast(V)) \arrow[r] \arrow[d] &(\Sigma^{-1}\mathbb{Z})_n \arrow[r] \arrow[d,equal] &H_n(\tilde{S}_\ast(U)+\tilde{S}_\ast(V)) \arrow[d] \arrow[ddd, phantom, ""{coordinate, name=Z}] \arrow[dd,rounded corners, to path={ --([xshift=2ex]\tikztostart.east) |-((Z)+(0,1ex))\tikztonodes -|([xshift=-2ex]\tikztotarget.west) --(\tikztotarget)}] \ H_{n+1}(X) \arrow[r] &(\Sigma^{-1}\mathbb{Z})_n \arrow[r] &\tilde{H}_n(X) \arrow[dd,rounded corners, to path={ --([xshift=2ex]\tikztostart.east) |-((Z)+(0,+1ex))\tikztonodes -|([xshift=-10ex]\ti...

bxjsbook.clsを試してみた。

BXjsclsのバージョン1.0が出たそうです。 BXjsclsパッケージ (GitHub) BXjscls も新しくなった (マクロツイーター) すでにCTANのファイルが更新されていて、texlive2015でアップデートをかければ導入されるようです。バージョンが1.0になったことで、これまで無かったjsbook.clsに対応するクラスファイルbxjsbook.clsなどが追加されたので、早速試してみました。 私はこれまで主にjsbook.clsを使って数学ノートの作成をしていたのですが、jsbookクラスファイルは1行に40文字が基準となっていて、フォントサイズを変更すると余白が大きくなりすぎると感じていました。 例えばplatexで \documentclass [ dvipdfmx,b5paper,10pt ]{ jsbook } でタイプセットすれば次のようなレイアウトになります。 いつもはこの状態で作成しています。 これを \documentclass [ dvipdfmx,b5paper,9pt ]{ jsbook } にしてタイプセットすると となります。この左側の余白が気になるので、奥村先生の pLaTeX2e 新ドキュメントクラス にあるように\textwidthやマージンを調整して \documentclass [ dvipdfmx,b5paper,9pt ]{ jsbook } \setlength {\textwidth}{\fullwidth} \setlength {\evensidemargin }{\oddsidemargin} とすれば今度は となるので、幅が広すぎると感じてしまうわけです。そこで短絡的に\textwidthを少しいじって \documentclass [ dvipdfmx,b5paper,9pt ]{ jsbook } \setlength {\textwidth}{0.9\fullwidth} \setlength {\evensidemargin }{\oddsidemargin} と変更すると、 となりレイアウトが崩れます。こんな感じで、jsbookについてはレイアウトの調整が面倒だなという印象が出来てしまいきちんと調べること...

precompiled preambleを用意して,platexのタイプセットを高速化する

最近dynabook v713を使っていなかったので知人に譲り,これを元手にして,久々にwindowsのデスクトップPCを購入しました.所有しているMacbook Air (mid 2012)に比べてcpuの周波数が2倍,コア数も2倍になったけれど,platex+dvipdfmxによるタイプセットの速度は約60%速くなったくらいで,期待していたほどではありませんでした.TeXがシングルスレッドで動作するようなので,cpuのコア数は速度向上に寄与していないみたいです. そこでLaTeXのタイプセット速度を向上させる方法がないか検索をしてみたら, precompiled preambleを用意して,preambleの読み込み時間を短縮する. tikzのexternalライブラリを用いて,tikzの絵をいったんpdf化し,それを読み込むことでtikzのタイプセット時間を短縮する. という方法が見つかりました. ここでは前者を紹介します. 後者も試してみたのですが,可換図を描くライブラリであるtikz-cdのtikzcd環境と相性が悪いらしく,うまく行かなかったため断念しました.

Emacs.appから起動したEmacsでシェルの環境変数を引き継ぐ

Macを使い始めて最初に不便に感じたことの一つは,Emacs.appをGUIで起動したときに,PATHなどのシェルの環境変数が引き継がれないことでした. 最近はターミナルから起動するのが習慣づいているので余り気にならなくなりましたが,環境変数を引き継ぐことが出来るようなので設定してみました.参考にしたのはsyohexさんのブログ「Life is very short」の記事 Emacsでの環境変数の設定に exec-path-from-shellを使うようにした です. exec-path-from-shell.elというパッケージを用います. まずpackage.elを用いるか,もしくは こちら からexec-path-from-shell.elをダウンロードして,これをemacsが読み込める場所に置いておきます. 設定は次のようにしました. ;;;ターミナル以外から起動したときも,パスなどのシェル環境変数を引き継ぐ (when (memq window-system '(mac ns)) (require 'exec-path-from-shell) (exec-path-from-shell-initialize) (let ((envs '("BIBINPUTS" "TEXINPUTS" "INDEXSTYLE"))) (exec-path-from-shell-copy-envs envs)) ) ここでは,パス以外のシェル環境変数としてLaTeXで使うBIBINPUTSとTEXINPUTS, INDEXSTYLEの3つをenvsというリストにして,exec-path-from-shell-copy-envsという変数に設定しています.これでexec-path-from-shell-copy-envsに設定したシェルの環境変数も一緒に引き継いでくれるようになりました. あとはQuicsilverでEmacs.appにキーボードショートカットを割り当てて,ターミナルなしで起動出来るようにしました.最近外付けSSDにUbuntu 15.04をインストールしたのですが,UbuntuでもEmacsをGUI...

直積写像

数学のノートを作っていて,通常の記法とは異なった意味で使ってしまっていた記号があることに気づきました. 通常の記法では,集合A,B,X,Yに対して,写像f:AXと写像g:BYが与えられたとき,fgの直積写像f×g:A×BX×Y(a,b)A×Bに対して (f×g)(a,b)=(f(a),g(b)) で定義します. ところが私は今までノートの中では,Cを集合とするとき写像φ:CXψ:CYに対して,φ×ψ:CX×Yを,cCに対して (φ×ψ)(c)=(φ(c),ψ(c)) という意味で使ってきたことが多いように思います.この意味で使っていたため,直積写像に対応する写像を扱う場合にはわざわざ射影π1:A×BAπ2:A×BBを用意して,fπ1:A×BXgπ2:A×BYのように定義域を揃えてから(fπ1)×(gπ2):A×BX×Yのように記述していました. 最近まで両者を混同して記述していることに気づいていませんでした.後者の意味の写像(定義域が揃っていて,φψを座標写像とするような写像)は(φ,ψ):CX×Y, c(φ(c),ψ(c))と記述するのがよいようです.しかしこの記法でいくと,写像の族fλ:CXλ (λΛ)が与えられているときに写像$f : C \to \prod_{\lambda\in \Lamb...

あの人は今 The Stereo

The Stereoは Wikipediaによると 1999年から2004年にかけて活動していたpop, rock and rollバンドだそうで,私はEmo関連で聴き始めました.3枚のアルバムを残していますが,どれも良作で特に1枚目の"Three Hundred"か2枚目の"No Traffic"がおすすめです.2枚目は友人に貸したら返ってこなくなったので買い直した記憶があります. 3枚目はほぼソロアルバムなので,バンド感が無くて少々期待外れでした.Last Days of Aprilなんかもそうですが,実質的にソングライティングしている人間が一人であっても,その人が全パート録音とかするとバンドよりも密度が薄まっているんですよね. しかしもう10年以上経つのかぁ. 久しぶりにiTunesに入れていた曲を聴いてみたところ,メンバーの現状が気になったので検索してみました.フロントマンの Jamie Woolford はLet Goというバンドを結成して2005年にはアルバムを出し,2006年には来日していたようです.全然知りませんでした.WikipediaにはLet Goを継続中のように書いてあるのですが,音源は2009年に出したSplit CDが最後のようで,現状はどうなのかよくわかりません.とりあえずAmazonで中古アルバムが1円だったので購入してみました.視聴してみる限り,Stereoと同系列の音みたいです. こちらから視聴できます. しかし相変わらず検索をかけにくいバンド名です. The Stereoの2枚目"No Traffic"からの曲です. 2011年にFueled by Ramenの15周年記念のライブで演奏していたみたいです. Let Goの曲のMVです. ソロアルバムも出しているみたいです.