[[山内のサイト]]

*LaTexメモ [#hccf8bd6]

**インストール [#r9656a02]
-[[Linux/CentOSインストール:https://texwiki.texjp.org/?Linux%2FCentOS#w0c3dfae]]
-[[Tex Liveのインストール:https://texwiki.texjp.org/?Linux#texliveinstall]]

公式ページにはネットインストールと書いてあるけれど、結局ISO古イメージをダウンロードしてしまった。
-[[CentOS 7 における TeX Live 2015 のインストール手順 ISO イメージ編:http://yoshiiz.blog129.fc2.com/blog-entry-828.html]]
-[[ダウンロード元(Index of /pub/text/CTAN/systems/texlive/Images):http://ring.airnet.ne.jp/pub/text/CTAN/systems/texlive/Images/]]

同じようなページ
- [[TeX Wiki Linux:https://texwiki.texjp.org/?Linux#texliveinstall]]
でも、結局 tr-unix が欲しくなった。(アップデートのため)
 wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
 tar xvf install-tl-unix.tar.gz
 cd intall-tl*
 ./install-tl --repository http://mirror.ctan.org/systems/texlive/tlnet/
らしい。

それでアップデートは
 tlmgr update --self --all

テストは
 platex -v
 platex test.tex


**Latex コマンド [#q0ea391e]
大分忘れとる。
-[[LaTeXコマンドシート一覧:http://www002.upp.so-net.ne.jp/latex/]]
-[[LaTeX - コマンド一覧:http://www1.kiy.jp/~yoka/LaTeX/latex.html]]

**JBOOK [#k8371a68]
 \documentclass[a4j]{jbook}
 \begin{document}
 \chapter{\LaTeXの書き方}
 これはテストです。
 初めての\LaTeX。
 \end{document}

**使い方コマンド [#u2ae80e8]
 platex test.tex
 dvipdfmx test.dvi
 ghostscript test.pdf    事前にリモートXを起動

**分割コンパイル [#g02a54f1]
 \input{chapter1}     拡張子不要
 % \input{chapter2}   テストコンパイル時に、使わない部分をコメントアウト

**main.texでいちいちinputをコメントアウトするのが嫌なとき [#n8aac0bb]
[[分割した LaTeX ファイルを subfiles を使ってコンパイルする:http://qiita.com/sankichi92/items/1e113fcf6cc045eb64f7]]

main.tex側を
 \documentclass{jsarticle}
 
 \usepackage{subfiles}
 \usepackage[dvipdfmx]{graphicx}
 \graphicspath{{images/}{../images/}}
 
 \title{分割した{\LaTeX}ファイルを\texttt{subfiles}を使ってコンパイルする}
 \author{sankichi92}
 \date{2016年12月30日}
 
 \begin{document}
 
 \maketitle
  
 % \input{introduction}
 
 \subfile{sections/body}
 
 \end{document}
sections/body.texを (sectionsサブディレクトリを作っておくこと)
 \documentclass[../main]{subfiles}
 
 \setcounter{section}{1}
 \begin{document}
 
 \section{\texttt{subfiles}を用いたファイル分割}
 
 \texttt{subfiles}を用いると,プリアンブルを共有したうえで,分割した{\LaTeX}ファイルを個別にコンパイルすることができる.
 
 \end{document}
とすると、
 platex main.tex
もできるし、
 cd sections
 platex body.tex
もできるので、部分コンパイルが簡単で便利という話。

**プログラムリスティング [#f1ab3c98]
-[[Listings:http://mytexpert.osdn.jp/index.php?Listings]]
-[[Latexにプログラムっぽいフォントでソースコードを載せる簡単な方法:http://www.shaco-o.com/tex-program]]
-[[ソースコードを簡単挿入 – LaTeXでつくる爆速プログラミングレポート:https://magazine.mast.tsukuba.ac.jp/archives/2443]] jlatexをplatexに読み替え?
-[[listings.sty:http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/listings.html]]
-[[TeXでソースコードを埋め込む:http://qiita.com/ayihis@github/items/c779e4ab5cd7580f1f87]]
-[[listingsを用いてLatexにソースコードを直接挿入する方法 (Windows):http://whitecat-student.hatenablog.com/entry/2016/09/05/180705]]

 \lstset{
 	%プログラム言語(複数の言語に対応,C,C++も可)
  	language = Python,
  	%背景色と透過度
  	backgroundcolor={\color[gray]{.90}},
  	%枠外に行った時の自動改行
  	breaklines = true,
  	%自動改行後のインデント量(デフォルトでは20[pt])	
  	breakindent = 10pt,
  	%標準の書体
  	basicstyle = \ttfamily\scriptsize,
  	%コメントの書体
  	commentstyle = {\itshape \color[cmyk]{1,0.4,1,0}},
  	%関数名等の色の設定
  	classoffset = 0,
  	%キーワード(int, ifなど)の書体
  	keywordstyle = {\bfseries \color[cmyk]{0,1,0,0}},
  	%表示する文字の書体
  	stringstyle = {\ttfamily \color[rgb]{0,0,1}},
  	%枠 "t"は上に線を記載, "T"は上に二重線を記載  
 	%他オプション:leftline,topline,bottomline,lines,single,shadowbox
  	frame = TBrl,
  	%frameまでの間隔(行番号とプログラムの間)
  	framesep = 5pt,
  	%行番号の位置
  	numbers = left,
 	%行番号の間隔
   	stepnumber = 1,
 	%行番号の書体
  	numberstyle = \tiny,
 	%タブの大きさ
  	tabsize = 4,
  	%キャプションの場所("tb"ならば上下両方に記載)
  	captionpos = t
 }
**lstlistingで全体を線で囲む [#k82c62c7]
 begin{lstlisting}[frame=single]


**lstlistingで文字列中の空白を「空白字」で表すのでなく、本物の空白にする [#ab708c13]
-[[lstlistingのパラメタの解説:http://tug.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf]]
-[[lstlistingのlanguageの解説:http://tug.ctan.org/tex-archive/macros/latex/contrib/listings/lstdrvrs.pdf]]

lstlistingでプログラムリストを表示するとき、文字列の中の空白を「空白字」にするが、
それがうっとうしい時、language=Cとかしても変えられない。(普通の言語は文字列が" ... "で
その中に出てくる空白を空白字にする)

それを強制的に、文字通りの空白にするには、
 \begin{lstlisting}[showstringspace=false]
 print("This is a pen.")
 \end{lstlisting}
全体をこのようにしたければ、上記lstsetで設定できる(はず)。

**図を入れる [#u87de643]
[[Tex Wiki 〜 LaTeX入門/図表:https://texwiki.texjp.org/?LaTeX%E5%85%A5%E9%96%80%2F%E5%9B%B3%E8%A1%A8]]
 \begin{figure}
   \centering
   \includegraphics[width=5cm]{apple.png}
   \caption{林檎の図}
 \end{figure}

図を横に並べる~
[[図の挿入:http://hooktail.org/computer/index.php?%BF%DE%A4%CE%C1%DE%C6%FE]]   [[Latexコマンド集〜図・表の配置:http://www.latex-cmd.com/fig_tab/alignment.html]]
 \begin{figure}[htbp]
 \begin{minipage}{0.5\hsize}
  \begin{center}
   \includegraphics[width=70mm]{fig1.eps}
  \end{center}
  \caption{一つめの図}
  \label{fig:one}
 \end{minipage}
 \begin{minipage}{0.5\hsize}
  \begin{center}
   \includegraphics[width=70mm]{fig2.eps}
  \end{center}
  \caption{二つめの図}
  \label{fig:two}
 \end{minipage}
 \end{figure}

図を縦横に並べる

 \begin{figure}[htbp]
 %% \fbox{   ここに入れると上下分割のminipageが効かなくなるので入れてはいけない
 \begin{minipage}   % minipageを入れ子にできるらしい 上段開始
  \begin{minipage}{0.5\hsize}  % 上段左
  ......
  \end{minipage}
  \begin{minipage}{0.5\hsize}  % 上段右
  ......
  \end{minipage}
 \end{minipage}  % 上段終わり
     % 空行で段落分け

 \begin{minipage}   % 下段開始
  \begin{minipage}{0.5\hsize}  % 下段左
  ......
  \end{minipage}
  \begin{minipage}{0.5\hsize}  % 下段右
  \end{minipage}
 \end`{minipage}
 %% }  % 入れてはいけないfboxの終わり
 \caption{  } % 全体のキャプション  
 \end{figure}

**プログラムリストを図として入れる [#c4c7b179]
[[Latexにプログラムっぽいフォントでソースコードを載せる簡単な方法:http://www.shaco-o.com/tex-program]]

 \begin{figure}[h]
 \begin{lstlisting}[basicstyle=\ttfamily]
  私は太郎に次郎にもらった本を渡した。
      私は---------D
      太郎に---D   |
        次郎に-D   |
        もらった-D |
              本を-D
            渡した。
      EOS
 \end{lstlisting}
 \caption{日本語の文の係り受け解析の例。}
 \end{figure}

**表組みを作る [#w3322a8b]
[[表組みの基本:http://www.latex-cmd.com/fig_tab/table01.html]]~
[[表組み - 複数のセルにまたがる表:http://www002.upp.so-net.ne.jp/latex/table_fukusu.html]]~
[[表組:http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/table.html]]

最小限は、
 \begin{table}[htb]
   \begin{tabular}{|l|c|r||r|} \hline
     メニュー & サイズ & 値段 & カロリー \\ \hline \hline
     牛丼 & 並盛 & 500円 & 600 kcal \\
     牛丼 & 大盛 & 1,000円 & 800 kcal \\
     牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
     牛皿 & 並盛 & 300円 & 250 kcal \\
     牛皿 & 大盛 & 700円 & 300 kcal \\
     牛皿 & 特盛 & 1,000円 & 350 kcal \\ \hline
   \end{tabular}
 \end{table}

**Too many unprocessed floats [#x11ee00f]
適当なタイミングで、\clearpageを置けば、そこで吐き出す。

**囲み(itembox) [#f9f097ec]
-[[LaTeX/LaTeXによる文書整形の応用/ascmacパッケージの利用:http://cns-guide.sfc.keio.ac.jp/2001/11/4/8.html]]
-[[(t)ascmac.sty:http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/ascmac.html]]
 \begin{itembox}[l]{タイトル}
 ボックス内の本文
 \end{itembox}

**ページ分割できる囲み(breakbox) [#y6562ccb]
-[[[tex]複数行にまたがる枠を表示する:http://d.hatena.ne.jp/sleepy_yoshi/20070518/p1]] breakbox ぺーじをまたぐのは四角のみ
 \usepackage{eclbkbox}
 \begin{breakbox}
 \end{breakbox}
参考 → [[参照ページ:http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/eclbkbox.html]](非標準、署名は磯崎さん) → [[さらにその先の参照ページ:http://mechanics.civil.tohoku.ac.jp/bear/bear-collections/style-files/style-fj.html]](このページすごい)

-[[[LaTeX] frame-box --- フレーム(ボックス)パッケージ いろいろ:http://konoyonohana.blog.fc2.com/blog-entry-240.html]] ページをまたぐのは四角のみ~
eclbkbox.sty --- breakbox環境 〜 非標準 → [[http://sitmathclub.web.fc2.com/temp/eclbkbox.sty]]

-[[2016-02-11 LaTeXで載せたプログラムソースがページを跨ぐ場合の対処法について:http://muscle-keisuke.hatenablog.com/entry/2016/02/11/195004]] breakitembox 非標準パッケージだが丸角でページをまたげる → [[Githubから以下をダウンロードする:https://github.com/laysakura/TheoryOfComputation/tree/master/styles/emath]]
 itembkbx.sty
 itembbox.sty
 emathC.sty
 jquote.sty
 eclbkbox.sty
全部必要かどうかは未確認。 


**章番号を入れたくない(「序章」などにしたい) [#n2fd3c4d]
 \chapter*{序章 統計とPython}  % 序章の「第0章」をやめる
 \addcontentsline{toc}{chapter}{序章 統計とPython}

**footnoteの中にverb/verbatimを入れたい [#e2ee45bb]
[[[LaTeX] cprotect --- マクロ引数に verbatimテキスト などを許可する:http://konoyonohana.blog.fc2.com/blog-entry-376.html]]

 \usepackage{cprotect}
 \cprotect\footnote{ .... }
\cprotectのあとに括弧はいらない。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS