LaTeXで琉大数理科の修論を書くためのガイド

目次

このノートでは, LaTeXに関する基本的な知識は仮定する. 全然知らない人は参考書(例えば\cite{latexbibunsho}等)を 一冊くらいは手に入れたほうがよいかもしれない. また, TeX に関する日本語の情報は TeX Wiki https://texwiki.texjp.org/ を見れば大抵のことは書いてある.

1で LaTeXを使って論文を書く際の基本的な注意を述べる.

2は数式を書く際のちょっとした注意.

3で, 添付の template.tex と tutorial.tex をもとに, 相互参照の練習.

4 は Xy-pic のメモ.

5はTeXworksのメモ.

7には texdoc のメモ.

1. LaTeXで数式を含んだ文章を書く

1.1. とても大切

LaTeXで書く文章に限った話ではないが, 書いたものを

自分で何度も読み返す.

とはいうものの, この文書自身は, 現在, 一つのファイルから pdf と html を生成する 実験をやっている最中で, 変換の結果をきちんとチェックしていなかったりする.

1.2. 見た目

文書の構造(節, 段落等)は自分でコントロールするが, 基本的に見た目はLaTeXに任せる. (ただし, 数式を文中に入れるか, display にするか等は自分でコントロールする.) どうしても気にいらない場合に手でいじる.

  • 改行記号( \\ )はあまり使わない方がよい.
  • 段落を変えたいときは一行あけて入力する.
  • \newpage も基本的には使わない. 使いたい場面というのは, セクションが変わるときにページを新しくしたい, という場合くらいだと思うが, この場合は \clearpage というのを使う方が, 図等が変なことにならなくてよいらしい.
  • 図や表の位置を思い通りにコントロールするのは結構難しいので, 適当なところで妥協する.

1.3. LaTeXに限った話ではないが

  • 句読点は全角か半角どちらかに統一する.

    私が書くときは, 数式内のものと統一がとれるので半角を使うけれど, 日本語の文としては全角の方が自然かもしれない.

  • 文末には句点を打つ. 数式も文である.
  • ただし, 数式単独の場合は句点をうたなくてもよい.
  • 文末に注釈の()がある場合, ()の後に句点をうつのが一般的(こんな感じ).
  • 地の文では \(\forall\) , \(\exists\) といった記号は使わない. 「任意の〜に対し」等と書く.
  • 地の文に限らず \(\because\) や \(\therefore\) といった記号は論文等では余り使わない.

1.4. LaTeX を書きはじめる前に

LaTeX で初めてある程度の長さの文書を書く際に, 書きはじめる時点で以下の3点に注意する.

  1. エディタの補完機能等を使う.
  2. マクロを使う.
  3. 相互参照を使う.

これをやる, やらないで作業効率が全然違う.

1.4.1. 補完機能等

TexWorks の場合を5 に書いている.

1.4.2. マクロ

何度も使う長い数式や, 後で文字を変えるかもしれない記号などはマクロにしておく.

preamble( \begin{document} の前)に

\newcommand{\map}[1]{\left[ {#1} \right] }
\newcommand{\ddual}[2]{\map{ \map{ {#1}, {#2} }, {#2} }}
\newcommand{\ddualA}[1]{\ddual{#1}{A}}

\DeclareMathOperator{\Ran}{Ran}

みたいに書く.

1.4.3. 相互参照

3 を見よ.

2. 数式等

2.1. 数式中のテキスト

数式中( $ $ とか \[ \] の中)に普通のテキストを 入れる必要がある場合は, \text{ なんとか } というのを使う. そうしないとアルファベットは斜体になってしまうし, 空白が無視されてしまう.

2.2. 数式中の日本語フォント

数式中( $ $ とか \[ \] の中)では日本語フォント(全角文字, とくに全角スペース)は使わない方がよい. パッケージやクラスファイルによってはエラーが出る (例えば, 見た目の凝ったスライドを作る beamer というクラスファイル等). なお, 私家版琉大数理科修論用スタイルファイル(uryukyumthesis.cls)ではエラーが出る(ようにしてある).

数式中に日本語フォントを入れる必要がある場合は, \text{ なんとか } というのを使う.

2.3. 数式を揃える

数式を縦揃えする環境は色々あるけれど, amsmath の align (式番号をつけないときは align* )を知っていれば 大抵間に合うと思う.

\usepackage{amsmath}

あるいは

\usepackage{mathtools}

として amsmath パッケージを読み込んでおく. なお, mathtools というパッケージは, amsmath の不具合等を修正したもので, これを読み込めば amsmath も読み込まれる.

揃えたい場所に & を入れる. 改行は \\ .

\begin{align*}
 4 &= 3+1 \\
   &= 2+2 \\ 
   &= 2+1+1 \\ 
   &= 1+1+1+1. 
\end{align*}
\begin{align*} 4 &= 3+1 \\ &= 2+2 \\ &= 2+1+1 \\ &= 1+1+1+1. \end{align*}

二箇所(以上)で揃えたいときは間に & を一つ入れる.

\begin{align*}
 2 &= 1+1, & 3 &= 2+1, \\
 4 &= 3+1, & 5 &= 4+1.
\end{align*}  
\begin{align*} 2&=1+1, & 3&=2+1, \\ 4&=3+1, & 5&=4+1. \end{align*}

間に文章を入れたいときは

\begin{align*}
 4&=3+1 \\
 &=2+2 
 \shortintertext{あるいは}	
 &=2+1+1 
 \intertext{または}
 &=1+1+1+1. 
\end{align*}
出力は pdf ファイルを見よ.

\shortintertext を使うには mathtools が必要.

2.4. コロン

\(f\colon X \to Y\) 等のコロンは : ではなく \colon を使う(\(f\) と : の間のスペースの空き方が違う). 上が f\colon X \to Y , 下が f:X \to Y .

\begin{align*}
 &f \colon X \to Y \\
 &f : X\to Y
\end{align*}
\begin{align*} &f \colon X \to Y \\ &f : X\to Y \end{align*}

2.5. 集合

井上さんという私の先輩に教わったマクロ(これはLaTeXではなくTeXというべきか). tex_guide.zip に含まれる macro.tex には入っている.

\def\Set#1{\Setdef#1\Setdef}
\def\Setdef#1|#2\Setdef{\left\{#1\,\;\mathstrut\vrule\,\;#2\right\}}%

次のように使う.

\[
\Set{ x\in P | x\geq p}
\]
\[ \left\{ x\in P \mid x\geq p\right\} \]

括弧や縦棒が中身の大きさに合わせて自動的に変わる.

\[
 \Set{ x\in \R^n | \sum_{i=1}^n x_i^2 = 1 }
\]
\[ \left\{ x\in \mathbb{R}^n \;\middle|\; \sum_{i=1}^n x_i^2 = 1\right\} \]

\newcommand{\R}{\mathbb{R}} で定義した \R というマクロを使っている.)

3. 相互参照等

とりあえず, 添付してあるファイル template.tex をコピーして(好きな名前に変えて), それをもとにはじめるのがよいかと思う. ある程度慣れてくれば, 好みに応じて変更すればよい. 詳しくは\cite{latexbibunsho}等を参照.

3.1. Tutorial

pdf ファイルを見よ.

3.2. template.tex

pdf ファイルを見よ.

3.3. cleveref

相互参照は便利なのであるが, 例えば「命題」としていたものを 後からやはり「定理」に変えたいとなると 「 命題~\ref{hugahuga} 」と書いていたところを全て 「 定理~\ref{hugahuga} 」に直さなくてはならなくなる.

cleveref というパッケージを使うとこれをうまいことやってくれる.

\usepackage{cleveref}	

と読み込んでおいて プレアンブルに以下(添付の jcleveref.tex )のうち必要なものを書く.

\crefname{defn}{定義}{定義}%
\crefname{thm}{定理}{定理}%
\crefname{lem}{補題}{補題}%
\crefname{coro}{系}{系}%
\crefname{prop}{命題}{命題}%
\crefname{ex}{例}{例}%
\crefname{rem}{注意}{注意}%

\newcommand{\crefrangeconjunction}{{〜}}%
\newcommand{\crefrangepreconjunction}{}%
\newcommand{\crefrangepostconjunction}{}%
\newcommand{\crefpairconjunction}{, }%
\newcommand{\crefmiddleconjunction}{, }%
\newcommand{\creflastconjunction}{, }%
\newcommand{\crefpairgroupconjunction}{, }%
\newcommand{\crefmiddlegroupconjunction}{, }%
\newcommand{\creflastgroupconjunction}{, }%

\crefname{equation}{}{}%
\crefname{figure}{図}{図}%
\crefname{subfigure}{図}{図}%
\crefname{table}{表}{表}%
\crefname{subtable}{表}{表}%

\crefname{appendix}{付録}{付録}%
\crefname{subappendix}{付録}{付録}%
\crefname{subsubappendix}{付録}{付録}%
\crefname{subsubsubappendix}{付録}{付録}%

\crefformat{page}{#2#1#3{ページ}}%
\crefrangeformat{page}{#3#1#4{〜}#5#2#6{ページ}}%
\crefmultiformat{page}{#2#1#3{ページ}}%
        {, #2#1#3{ページ}}{, #2#1#3}{, #2#1#3{ページ}}%
\crefformat{section}{#2#1#3{節}}%
\crefrangeformat{section}{#3#1#4{〜}#5#2#6{節}}%
\crefmultiformat{section}{#2#1#3{節}}%
        {, #2#1#3{節}}{, #2#1#3}{, #2#1#3{節}}%
\crefformat{subsection}{#2#1#3{節}}%
\crefrangeformat{subsection}{#3#1#4{〜}#5#2#6{節}}%
\crefmultiformat{subsection}{#2#1#3{節}}%
        {, #2#1#3{節}}{, #2#1#3}{, #2#1#3{節}}%
\crefformat{subsubsection}{#2#1#3{節}}%
\crefrangeformat{subsubsection}{#3#1#4{〜}#5#2#6{節}}%
\crefmultiformat{subsubsection}{#2#1#3{節}}%
        {, #2#1#3{節}}{, #2#1#3}{, #2#1#3{節}}%

\crefformat{part}{{第}#2#1#3{部}}%
\crefformat{chapter}{{第}#2#1#3{章}}%

引用する際「 \cref{hugahuga} 」と書くと, hugahuga という label がついているのが 補題( lem )であれば, 「補題1.1」, 図( figure )であれば「図1.1」というように, 「補題」とか「図」等を自動で clever に補ってくれる.

4. Xy-pic (xymatrix)

より詳しくは, Xy-pic の配布物に含まれる User's Guide (xyguide.pdf) 等を 参照のこと.

4.1. 基本

4.1.1. 読み込み

Xy-pic を使用するためには, まず Xy-pic を読み込む必要がある.

具体的には \usepackage[all]{xy} という一行を \begin{document} の前に書く.

またdefaultではxymatrix中の数式は文中数式モードになるようなので
\def\objectstyle{\displaystyle} を書いておいた方が使いやす いかもしれない.

\documentclass[12pt]{jarticle}
\usepackage{amsmath,amsfonts,amsthm,amssymb,amscd}
\usepackage[all]{xy}

\def\objectstyle{\displaystyle}

\begin{document}

4.1.2. 項目の配置

\[
\xymatrix{
 A & B & C \\
 D & E &    \\
   & F & G	
}	
\]

\[ \xymatrix{ A & B & C \\ D & E & \\ & F & G } \]

4.1.3. 矢印

矢印は, その矢印の出発点である項目の後に \ar[方向] . 方向は r,l,u,d の組み合わせ.

\[
\xymatrix{
 A \ar[r] \ar[rrd] & B & \ar[d] \\
 C \ar[u] & A \ar[l] \ar[lu] & D	
}	
\]

\[ \xymatrix{ A \ar[r] \ar[rrd] & B & \ar[d] \\ C \ar[u] & A \ar[l] \ar[lu] & D } \]

4.1.4. ラベル

矢印にラベルをつける. 位置は ^,_,| で指定. 矢印の向きとラベルのつく位置に注意.

\[
\xymatrix{
 A \ar[r]^f & B \ar[d]^f 
 & A \ar[r]_{g_1} & B \ar[d]_{g_1}
 & A \ar[r]|h & B \ar[d]|h \\
 D \ar[u]^f & C \ar[l]^f
 & D \ar[u]_{g_1} & C \ar[l]_{g_1}
 & D \ar[u]|h & C \ar[l]|h
}
\]

\[ \xymatrix{ A \ar[r]^f & B \ar[d]^f & A \ar[r]_{g_1} & B \ar[d]_{g_1} & A \ar[r]|h & B \ar[d]|h \\ D \ar[u]^f & C \ar[l]^f & D \ar[u]_{g_1} & C \ar[l]_{g_1} & D \ar[u]|h & C \ar[l]|h } \]

4.2. 矢印

4.2.1. ラベルの位置

項目のサイズによっては矢印のラベルの位置がずれる.

\[
\xymatrix{
 A \ar[r]^f & BCDEFGH 
}
\]

\[ \xymatrix{ A \ar[r]^f & BCDEFGH } \]

ラベルの前に - をつけると自動で調整してくれる. 特に位置を指定する必要の無い場合は常に - をつけるようにするとよいだろう.

\[
\xymatrix{
 A \ar[r]^-f & BCDEFGH 
}
\]

\[ \xymatrix{ A \ar[r]^-f & BCDEFGH } \]

ラベルの前に (.数字) で位置を指定することも出来る.

\[
\xymatrix{
A \ar[r]^(.2)f_(.25)g & BCDEFGH 
}
\]

\[ \xymatrix{ A \ar[r]^(.2)f_(.25)g & BCDEFGH } \]

4.2.2. いろいろな矢印

\ar@{スタイル}[方向] でいろいろな矢印が書ける. どのようなスタイル が使えるかについては xyguide 等を参考のこと.

\[
\xymatrix{
 A \ar@{=}[r] 
 & A \ar@{.>}[r] 
 & B \ar@{->>}[r] & C \\
 D \ar@{|-^{>}}[r] 
 & E \ar@{^{(}-_{>}}[r] 
 & F \ar@{>->}[r] & G
}
\]

\[ \xymatrix{ A \ar@{=}[r] & A \ar@{.>}[r] & B \ar@{->>}[r] & C \\ D \ar@{|-^{>}}[r] & E \ar@{^{(}-_{>}}[r] & F \ar@{>->}[r] & G } \]

4.2.3. スライドする

矢印を平行に移動するには \ar@<移動量>[方向] とする. 上記のいろいろ な矢印と併用するときは \ar@<移動量>@{スタイル}[方向] 等とする. 移動量とスタイルの順序はどちらでもよいようだ.

\[
\xymatrix{
 A \ar[r]^-f 
 & B \ar@<-0.5ex>[r]_-f 
 & C \ar@<1ex>[r]^-f 
 & D \ar@<0.5ex>[d]^-f \\
 E \ar@<-0.3ex>@{^{(}->}[r]^-f 
 & F \ar@{_{(}->}@<0.3ex>[r]^-f 
 & G \ar@<0.5ex>[r]^-f \ar@<-0.5ex>[r]_-g 
 & H \ar@<0.5ex>[u]^-g  
}
\]

\[ \xymatrix{ A \ar[r]^-f & B \ar@<-0.5ex>[r]_-f & C \ar@<1ex>[r]^-f & D \ar@<0.5ex>[d]^-f \\ E \ar@<-0.3ex>@{^{(}->}[r]^-f & F \ar@{_{(}->}@<0.3ex>[r]^-f & G \ar@<0.5ex>[r]^-f \ar@<-0.5ex>[r]_-g & H \ar@<0.5ex>[u]^-g } \]

4.2.4. 穴を空ける

\ar[方向]|\hole で穴が空く. 穴の位置の指定はラベルの位置の指定と同 じ.

\[
\xymatrix{
 A \ar[r] \ar[d] \ar[rrd]  
 & B \ar[rrd]|f \ar[d]|\hole \ar[rdd]|(.33)\hole & & \\
 C \ar[r] \ar[rrd] & D \ar[rrd]|(.33)\hole|\hole 
 & A' \ar[r] \ar[d] & B' \ar[d] \\
 & & C' \ar[r] & D' 
}
\]

\[ \xymatrix{ A \ar[r] \ar[d] \ar[rrd] & B \ar[rrd]|f \ar[d]|\hole \ar[rdd]|(.33)\hole & & \\ C \ar[r] \ar[rrd] & D \ar[rrd]|(.33)\hole|\hole & A' \ar[r] \ar[d] & B' \ar[d] \\ & & C' \ar[r] & D' } \]

上では穴の位置を (.33) というように数値で指定したが, D \ar[rrd]|!{[u];[rd]}\hole 等のような指定もできる. この場合, スタート位置 \(D\) の上(u) \(B\) から右下(rd) \(C'\) への矢印とこの矢印との交点に穴が空く. (曲がった矢印の場合はうまくいかない.)

\[
 \xymatrix{
 A \ar[r] \ar[d] \ar[rrd]  
 & B \ar[rrd]|f \ar[d]|\hole \ar[rdd]|!{[l];[rd]}\hole & & \\
 C \ar[r] \ar[rrd] & D \ar[rrd]|!{[u];[rd]}\hole|\hole 
 & A' \ar[r] \ar[d] & B' \ar[d] \\
 & & C' \ar[r] & D' 
 }
\]

\[ \xymatrix{ A \ar[r] \ar[d] \ar[rrd] & B \ar[rrd]|f \ar[d]|\hole \ar[rdd]|!{[l];[rd]}\hole & & \\ C \ar[r] \ar[rrd] & D \ar[rrd]|!{[u];[rd]}\hole|\hole & A' \ar[r] \ar[d] & B' \ar[d] \\ & & C' \ar[r] & D' } \]

4.2.5. 曲げる

\ar@/^曲げる量/[方向] で進行方向左側に, \ar@/_曲げる量/[方向] で進行方向右側にふくらんだ矢印になる.

\[
\xymatrix{
 A \ar@/^18pt/[r]^f \ar@/_/[r]_g 
 \ar@/_3pt/[d] \ar@/_12pt/[d] \ar@/_24pt/[d] \ar@/_48pt/[d]
 & B \ar@/^/[d]  \ar@/^54pt/[rd]  &  C \ar[l] \ar[d] \\
 D \ar@/_10pt/@{.>}[rr]_{\exists h} & E \ar[r] \ar[l] & F
}
\]

\[ \xymatrix{ A \ar@/^18pt/[r]^f \ar@/_/[r]_g \ar@/_3pt/[d] \ar@/_12pt/[d] \ar@/_24pt/[d] \ar@/_48pt/[d] & B \ar@/^/[d] \ar@/^54pt/[rd] & C \ar[l] \ar[d] \\ D \ar@/_10pt/@{.>}[rr]_{\exists h} & E \ar[r] \ar[l] & F } \]

4.3. サイズ等

4.3.1. 行間列間のサイズを変える

@R= で行間, @C= で列間のサ イズを指定. @= で行間列間のサイズを一斉に指定.

\[
\xymatrix@C=36pt@R=6pt{
 A \ar[r] \ar[d] & B \ar[r] & C \ar[ld] \\
 D \ar[r] & E &    \\
}	
\]

\[
\xymatrix@=10pt{
 A \ar[r] \ar[d] & B \ar[r] & C \ar[ld] \\
 D \ar[r] & E &    \\
}	
\]

\[ \xymatrix@C=36pt@R=6pt{ A \ar[r] \ar[d] & B \ar[r] & C \ar[ld] \\ D \ar[r] & E & \\ } \]

\[ \xymatrix@=10pt{ A \ar[r] \ar[d] & B \ar[r] & C \ar[ld] \\ D \ar[r] & E & \\ } \]

4.3.2. 強制的に行間列間をそろえる

特に何も指定しなければ, 項目のサイズに合わせて適当に行間列間を調整してくれるが, 行間列間をそろえたい場合は @!,@!R,@!C を使うとよい. @!=サイズ 等でサイズの指定も可.

\[
\xymatrix{
 & A \ar[ld] \ar[d] \ar[rd] & \\
 B & C & DDDDDDDD
}
\]

\[
\xymatrix@!C{
 & A \ar[ld] \ar[d] \ar[rd] & \\
 B & C & DDDDDDDD
}
\]

\[
\xymatrix@!C=24pt{
 & A \ar[ld] \ar[d] \ar[rd] & \\
 B & C & DDDDDDDD
}
\]

\[ \xymatrix{ & A \ar[ld] \ar[d] \ar[rd] & \\ B & C & DDDDDDDD } \]

\[ \xymatrix@!C{ & A \ar[ld] \ar[d] \ar[rd] & \\ B & C & DDDDDDDD } \]

\[ \xymatrix@!C=24pt{ & A \ar[ld] \ar[d] \ar[rd] & \\ B & C & DDDDDDDD } \]

4.3.3. 項目の余白

@M= で余白のサイズを指定.

\[
\xymatrix{
 A \ar[r] & B \ar@{>->}[r] & C 
}	
\]

\[
\xymatrix@M=8pt{
 A \ar[r] & B \ar@{>->}[r] & C
}	
\]

\[ \xymatrix{ A \ar[r] & B \ar@{>->}[r] & C } \]

\[ \xymatrix@M=8pt{ A \ar[r] & B \ar@{>->}[r] & C } \]

4.3.4. 項目やラベルのサイズ

\def\objectstyle{サイズの指定} で項目の, \def\labelstyle{サイズの指定} でラベルのサイズを変更出来る. サイズの指定にどのようなものが使えるのかはよくわからない.

\[
\def\objectstyle{\scriptstyle}
\def\labelstyle{\scriptscriptstyle}
\xymatrix{
 A \ar[r]^f \ar[d] & B \ar[d] \\
 C \ar[r] & D &
}
\]

\[ \def\objectstyle{\scriptstyle} \def\labelstyle{\scriptscriptstyle} \xymatrix{ A \ar[r]^f \ar[d] & B \ar[d] \\ C \ar[r] & D & } \]

4.3.5. 回転

@方向 で図式を, 左上の項目を中心に, 回転させることが 出来る. 方向は ur u ul l dl d dr で指定するようだ.

\[
\xymatrix@ur{
 A \ar[r]^f \ar[d] & B \ar[d] \\
 C \ar[r] & D &
}
\]

\[ \xymatrix@ur{ A \ar[r]^f \ar[d] & B \ar[d] \\ C \ar[r] & D & } \]

4.4. Tips

4.4.1. 数式番号

xymatrixでかいた図式に数式番号をつけるときは \vcenter を使うとよい かもしれない.

\verb+\vcenter+ をつけない場合
\begin{equation}
\xymatrix{
 A \ar[r] \ar[d] & B \ar[d] \\
 C \ar[r] & D \ar@{}[lu]|{\circlearrowright}
}
\end{equation}

つけた場合
\begin{equation}
\vcenter{
\xymatrix{
 A \ar[r] \ar[d] & B \ar[d] \\
 C \ar[r] & D \ar@{}[lu]|{\circlearrowright}
}
}
\end{equation}

\vcenter をつけない場合

\begin{equation} \xymatrix{ A \ar[r] \ar[d] & B \ar[d] \\ C \ar[r] & D \ar@{}[lu]|{\circlearrowright} } \end{equation}

つけた場合

\begin{equation} \vcenter{ \xymatrix{ A \ar[r] \ar[d] & B \ar[d] \\ C \ar[r] & D \ar@{}[lu]|{\circlearrowright} } } \end{equation}

4.4.2. 平行な矢印

平行な矢印をたくさん使う場合は以下のようなマクロを用意すると便利.

\newcommand{\prarrow}[2]{\ar@<0.5ex>[r]^-{#1} \ar@<-0.5ex>[r]_-{#2}}
\newcommand{\plarrow}[2]{\ar@<0.5ex>[l]^-{#1} \ar@<-0.5ex>[l]_-{#2}} 
\newcommand{\pdarrow}[2]{\ar@<0.5ex>[d]^-{#1} \ar@<-0.5ex>[d]_-{#2}} 
\newcommand{\puarrow}[2]{\ar@<0.5ex>[u]^-{#1} \ar@<-0.5ex>[u]_-{#2}} 
\[
\xymatrix{
A \prarrow{f}{g} \pdarrow{h}{k} & B \\
C & D \plarrow{u}{v} \puarrow{s}{t}
}
\]

\[ \xymatrix{ A \ar@<.5ex>[r]^-{f} \ar@<-0.5ex>[r]_-{g} \ar@<.5ex>[d]^-{h} \ar@<-0.5ex>[d]_-{k} & B \\ C & D \ar@<.5ex>[l]^-{u} \ar@<-0.5ex>[l]_-{v} \ar@<.5ex>[u]^-{s} \ar@<-0.5ex>[u]_-{t} } \]

本文中で使うには以下のようにマクロに \xymatrix をいれたものの方が便利だろう. 1行からなる図式を書くときには, ここに出ている @1 という指定をすると よいそうである.

\newcommand{\paar}[3]{
 \xymatrix@1{
  #1 \ar@<0.5ex>[r]^-{{#2}_1}\ar@<-0.5ex>[r]_-{{#2}_2} & #3
 }
}
\newcommand{\paaar}[3]{\xymatrix{#1 \ar@<0.5ex>[r]^-{{#2}_1}
\ar@<-0.5ex>[r]_-{{#2}_2} & #3}}

\verb+@1+を指定したもの$\paar{A}{f}{B}$と, 
指定していないもの$\paaar{A}{f}{B}$
はこのようになるが, どうであろうか.

@1 を指定したもの \(\xymatrix@1{A \ar@<0.5ex>[r]^-{{f}_1}\ar@<-0.5ex>[r]_-{{f}_2} & B }\) と, 指定していないもの \(\xymatrix{A \ar@<0.5ex>[r]^-{{f}_1}\ar@<-0.5ex>[r]_-{{f}_2} & B }\) はこのようになるが, どうであろうか.

4.4.3. \(\prod\) 等

\(\prod\) や \(\varinjlim\) の添字が下だけにつく際にバランスが悪くなる場合があり, 適当なマクロを作って使っていたが, version 3.8 以降の Xy-pic では特に調整する必要はないようだ.

4.4.4. 包含射の一例

\[
 \xymatrix@=18pt{
 S\times_XY \ar[rr] \ar@{}[d]|{\bigcap} & & S \ar@{}[d]|{\bigcap} \\
 Y \ar[r] & R \ar@{}[r]|*{\subset} & X.
}
\]

\[ \xymatrix@=18pt{ S\times_XY \ar[rr] \ar@{}[d]|{\bigcap} & & S \ar@{}[d]|{\bigcap} \\ Y \ar[r] & R \ar@{}[r]|*{\subset} & X. } \]

4.4.5. いろいろ

\[
\def\objectstyle{\scriptstyle}
\def\labelstyle{\scriptstyle}
 Z \cong \lim\left(
  \vcenter{
   \hbox{
    $
     \underbrace{
      \xymatrix@C=6pt{
       & & X \ar[lld] \ar[ld] \ar@{}[d]|(.6){\dots} \ar[rd] \ar[rrd] 
       & & \\
       Y & Y & \dots\dots & Y & Y 
      }
     }_n
    $
   }
  }\right) 
\]

\[ \def\objectstyle{\scriptstyle} \def\labelstyle{\scriptstyle} Z \cong \lim\left( \vcenter{ \hbox{ $ \underbrace{ \xymatrix@C=6pt{ & & X \ar[lld] \ar[ld] \ar@{}[d]|(.6){\dots} \ar[rd] \ar[rrd] & & \\ Y & Y & \dots\dots & Y & Y } }_n $ } }\right) \]

5. TeXworks

私は使っていないので細かい挙動は分かりませんが…

5.1. 補完

LaTeXで何か書くとき いちいち \begin{nantoka} なんてタイプしてたら大変です.

5.1.1. 準備

最近の TeXworks(texlive2020 以降?)では補完に使うキーを設定出来るようになっているようである. が, Windows の場合デフォルト値が設定されていないらしい. https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2864

Tab での補完が効かない場合, 以下を試してみる.

TeXworks の [ヘルプ]-[設定の管理] をクリックすると「データ格納先」というのが出てくる.

Windows だと

C:\Users\username\.texlive20xx/texmf-config

(ホームディレクトリの .texlive20xx の中の texmf-config というフォルダ) か, ホームディレクトリにある TeXworks というフォルダになっていると思う.

この中に texworks というフォルダがあり, その中に configuration というフォルダがある. そこにある shortcuts.ini というファイル(なければメモ帳とか TeXworks で作る)に

actionNext_Completion=Tab

と書いて保存する.

5.1.2. \begin{nantoka} \end{nantoka}

bal とタイプしたあと Tab キーを押すと

\begin{align}

\end{align}•

となってカーソルが間の行に移動します. ここで更に Tab を打つと

\begin{align*}

\end{align*}•

と, alignalign* に変わり, カーソルはやはり間の行にあります. ここで適当な式を書いたあと Ctrl + Tab を打つと, カーソルが \end{align*} の後ろの黒点 の上に移動します. ここで そのままカーソルを移動させずに 何か(例えば改行とか)タイプすると この黒点は消えます.

基本的に, \begin{nantoka} というタイプのものは,

  • bn あるいは bna, bnan くらいまでタイプしたあと
  • Tab を打ち
  • 中身をタイプした後
  • Ctrl + Tab で \end{nantoka} の外に出て
  • 続きを そのまま タイプする

という流れになります(これだと黒点は勝手に消えてくれる). ちなみに黒点が残っちゃうと当然最終的に出来たファイルにも黒点が出てきます.

黒点が二つ以上ある場合もあります. このときは Ctrl + Tab, Ctrl + Shift + Tab で これらの黒点のところを行き来できます.

5.1.3. ギリシア文字

  • xa とタイプしたあと Tab キーを押すと \alpha になります. 数式中でギリシア文字を書くときに便利!
  • dxa とタイプしたあと Tab キーを押すと \(\alpha\) (これは $\alpha$ と書くのと同じ)になります. 普通の文中でギリシア文字を書くときに便利! 最近のもの, 例えばtexlive2021のデフォルトでは設定されていない.

5.1.4. 他にはどんな補完が?

デフォルトで結構な数の補完が設定されています. LaTeXのコマンドは二, 三文字打ったあと, とりあえず Tab を打ってみるとよい. 例えば sec + Tab で \section{} がでる.

詳しくはマニュアル(A short manual for TeXworks)を見る(TeXworks の[ヘルプ]か7参照), あるいは設定ファイル(5.1.5参照)を見よ.

5.1.5. カスタマイズ

デフォルトの補完が気に食わないとか, 黒点はいらないとか, 他にも補完してほしいという場合, 設定ファイルを作成/編集するとよろしい.

TeXworks の [ヘルプ]-[設定の管理] をクリックすると「データ格納先」というのが出てくる.

Windows だと

C:\Users\username\.texlive20xx/texmf-config

(ホームディレクトリの .texlive20xx の中の texmf-config というフォルダ) か, ホームディレクトリにある TeXworks というフォルダになっていると思う.

この中に texworks というフォルダがあり, さらにその中に completion というフォルダがあります.

この中にあるテキストファイル(tw-basic.txt, tw-context.txt, tw-beamer.txt, tw-latex.txt) がデフォルトの設定ファイルです. これらを適当に編集するか, 新たに適当な名前のテキストファイルを用意して 元のものを真似して書くとよい.

例えばこんな感じ.

bite:=\begin{itemize}#RET# \item #INS##RET#\end{itemize}•
bthm:=\begin{thm}#RET##INS##RET#\end{thm}•

5.2. ショートカット

  • タイプセット Ctrl+T
  • プレビューからエディターに戻る Ctrl + '
  • アンドウ Ctrl + z
  • リドウ Ctrl + Shift + z
  • カット Ctrl + x
  • コピー Ctrl + c
  • ペースト Ctrl + v
  • コメント 選択してから Ctrl + ]
  • アンコメント 選択してから Ctrl + Shift + [

5.3. 括弧

  • 括弧の上にカーソルがあると相方の括弧がハイライトされる.
  • 括弧で囲まれた部分にカーソルがあるときに Ctrl + B を押すと, 括弧で囲まれた部分が色付け(選択?)される

5.4. ファイルを分割しているとき

例えば, main のファイルが main.tex, それから読み込んでいるファイルが sec1.tex である場合, sec1.tex の先頭に

% !TeX root = main.tex

と書いておくと, sec1.tex の方でタイプセットできるらしい.

6. TeXShop

私は自分では一度も使ったことがありません.

6.1. ファイルを分割しているとき

例えば, main のファイルが main.tex, それから読み込んでいるファイルが sec1.tex である場合, sec1.tex の先頭に

% !TeX root = main.tex

と書いておくと, sec1.tex の方でタイプセットできるらしい.

6.2. SyncTeX

コマンドキーを押しながら pdf ファイルをクリックすると, ソースファイルの該当する場所に翔ぶ. コマンドキーを押しながらソースファイルをクリックすると, pdf ファイルの該当する場所に翔ぶ. らしい.

7. texdoc

texlive をインストールするとものすごい量の文書もインストールされます. 英語のものがほとんどではありますが. で, これらの文書の中から必要なものを 見つけ出すための道具が texdoc というプログラムです.

例えば TeXworks のマニュアルを探したければ コマンドラインから

$ texdoc texworks

と入力するか, Windows であれば TeXdoc GUI というプログラムが入っているので, それを開き, Databese search というのをクリックして texworks と入力すると マニュアルを見ることが出来る ( File search で探しちゃうとかなり時間がかかる上, しばらく コンピュータが固まっちゃうかもしれない).

著者: Tsukuda Shuichi

Created: 2023-08-25 金 14:24

Validate