まずは読もう

チートシート

image.png (2.9 MB)

image.png (2.6 MB)

bibtex (参考文献)

#153: 2019年度 創成課題/cloudlatex上でのbibtexの使い方

ACMのbibtexでエラー

対処方法

  • doiを消す
  • seriesを消す
  • urlを消す

bibtexでURL

bibitex使ってURL貼り付ける方法 ftp://blackknight.ics.nara-wu.ac.jp/pub/doc/bibtex.pdf

@Misc{Weisstein,
  author = "Weisstein, Eric W.",
  title = "Delta Function",
  note = "A Wolfram Web Resource (2017年2月8日閲覧)",
  howpublished = "{\url{http://mathworld.wolfram.com/DeltaFunction.html}}",
}

\usepackage{url} の追加は必須

newblock~エラー出たら下記を追加

\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}

bitexのスタイルファイルを使わない場合

LaTeX で URL を書くには次のようにするのがよさそう。

  • スラッシュ / の代わりに \slash を使う。
  • チルダ (~) の代わりに \~{} を使う。

URL を構成する他の文字との区切りには {} を使う。そうすると、先の例は以下のようになる。

http:\slash\slash{}www.ss.iij4u.or.jp\slash\~{}sassano\slash{}ja\slash{}log\slash

適切に空白を使う書き方ももちろん OK。以下でも可。

http:\slash\slash www.ss.iij4u.or.jp\slash\~{}sassano\slash ja\slash log\slash

\~{} の {} は必ず書く。これを省くと、チルダが次の文字の上に来てしまう。

bibtexでurl.sty を使う場合

LaTeX 2e の多くの環境では url.sty が使えるでしょうか。その場合は以下のように書けば大丈夫のはず。

\usepackage{url} \url{http://www.ss.iij4u.or.jp/~sassano/ja/log/}

参考文献の参照をまとめて表記

https://ameblo.jp/h-krkr/entry-10915143691.html

[1],[2],[3]を[1,2,3]にする

% これを追記する
\usepackage{cite}

\cite{paper:LCFG, paper:lucie, paper:grid_system_install}

項目つき箇条書き

image.png (6.0 kB)

\begin{description}
    \item[マグロ]\mbox{}\\ 
    ほげほげほげほげ
    \item[カツオ]\mbox{}\\
    ほげほげほげほげ
    \item[サンマ]\mbox{}\\
    ほげほげほげほげほげ
\end{description}

http://www.shaco-o.com/latex-itemizeenumerate

## 表

captionとlabelの順序を変えると,番号が狂うことがあるので注意する(実体験)

\begin{table}[htb]
    \caption{1ツイートに含まれる要素}
    \label{tab:tweet}
    \centering
    \begin{tabular}{|l|l|ll}\hline
        要素名 & 説明 \\\hline
        text & ツイートの本文 \\
        date & ツイートの日時 \\
        retweets & リツイートされた数  \\
        favorites & お気に入りに追加された数 \\
        hashtags & "\#"から始まるタグ \\
        geo & 地理情報が付与されていた場合の緯度経度\\ \hline
    \end{tabular}
\end{table}

参照する時は ref{tab:tweet} を使う.

表を楽につくる

表作成が楽にできるWebサービスがある.

https://www.tablesgenerator.com/latex_tables

使い方は以下を参考にする.

LaTeXの表を生成できるサイトTables Generator - muscle_keisukeの日記

画像

\usepackage[dvipdfmx]{graphicx}
\usepackage[dvipdfmx]{color}

\begin{figure}[htbp]
    \includegraphics[scale=0.3]{figures/software.png}
    \caption{ソフトウェア構成図}
    \label{fig:software}
\end{figure}

画像を横幅ぴったりに貼りたい時は,width=\linewidth を指定する.

\includegraphics[width=\linewidth]{hoge.eps}

倍率を指定する場合には係数をつける。

\includegraphics[width=0.9\linewidth]{hoge.eps}

texで文章の幅に合わせて画像を貼りたい - odenのメモ帳

記号

丸数字

①のような丸数字を使いたい場合は1の部分の数字を書き換えて使う

\textcircled{\scriptsize 1}

数式

基本的な書き方はチートシートを参照.

% 数式
\usepackage{amsmath}
\usepackage{amsfonts}

\begin{equation} \label{eq-nodes}
    \mathbb{N} = \{n_i \mid 1 \le i \le  N'\}
\end{equation}\ref{eq-nodes}に示す.

image.png (7.9 kB)

数式内に日本語を入れる場合

mbox{}を挟む. https://kmuto.jp/latex/node41.html

\mbox{カレー} = \mbox{人参} + \mbox{じゃがいも} + \mbox{玉ねぎ} + \mbox{豚肉}

余白

[!WARNING] 基本的にはテンプレートを変更しない方がよいです。

http://pyopyopyo.hatenablog.com/entry/20120416/p1

% 図と図の間の余白
\setlength\floatsep{0pt}
% 本文と図の間の余白
\setlength\textfloatsep{0pt}
% 本文中の図の余白
\setlength\intextsep{0pt}
% 図とキャプションの間の余白
\setlength\abovecaptionskip{0pt}

http://kwikwi.cocolog-nifty.com/blog/tex/

% 図とキャプションの間の余白
\setlength\abovecaptionskip{0pt}
% ページの上下に出力される図と図の間のスペース
\setlength\floatsep{0pt}
% ページの上下に出力される図と本文の間のスペース
\setlength\textfloatsep{5pt} %dbltextfloatsep
% ページの途中に出力される図と本文の間のスペース
\setlength\intextsep{5pt}
% 表の余白
\tabcolsep=1pt

箇条書きの余白の構造

https://note.com/yuw/n/nb7c3bf1c5a70

image.png (13.9 kB)

enumerateの行間を埋める

% enumerateの行間を減らす
\let\oldenumerate\enumerate
\renewcommand{\enumerate}{
    \oldenumerate
    \setlength{\itemsep}{1.2pt} % 項目(item)間
    \setlength{\parskip}{0pt} % リスト(itemize)の前後の段落間
    \setlength{\parsep}{0pt} % 項目(item)内の段落間
}

itemizeの行間を埋める

% itemizeの行間を減らす
\let\olditemize\itemize
\renewcommand{\itemize}{
    \olditemize
    \setlength{\itemsep}{1.2pt} % 項目(item)間
    \setlength{\parskip}{0pt} % リスト(itemize)の前後の段落間
    \setlength{\parsep}{0pt} % 項目(item)内の段落間
}

ソースコード

基本的な使い方 minted

\documentclass{article}
\usepackage{minted}  % これを入れる
\begin{document}

% コードを以下で書く.言語がない場合は python の部分に text を指定する.
\begin{minted}[frame=single, fontsize=\footnotesize, linenos]{python}    
def is_contain_word(keyword, items):
    if keyword in items:
        return True
    return False
\end{minted}

\end{document}

基本的な使い方 listings (オススメ)

\usepackage{listings, jlisting}
\begin{lstlisting}[caption=example-config.yaml, label=config]{}
juice:
  - apple
  - orange
  - grape
\end{lstlisting}

jlisting.styがない場合はアップロードする.

jlisting.sty (6.2 kB)

ソースコードのキャプション前の余白を小さく

\begin{lstlisting}[caption=ログの例, label=code1, columns=fullflexible, breaklines=true, aboveskip=0pt, belowskip=0pt]
23.92.36.0 - - [27/Oct/2020:20:23:11 +0900] "GET / HTTP/1.1" 200 612 "-" "Java/1.8.0_265"
\end{lstlisting}

二段組でソースコードのキャプションが崩れる場合

情報処理学会のテンプレートで崩れる場合がある.この場合の対処は以下を行う.

\usepackage{here}
\usepackage{listings, jlisting}[language=yaml]

\begin{figure}[H]
    \begin{lstlisting}[caption=example-config.yaml, label=config]{}
    \end{lstlisting}
\end{figure}

lstsetの完成版

これを使えば大丈夫です.

\lstset{
    xrightmargin=1zw,
    xleftmargin=2zw,
    tabsize=2,
    stringstyle={\small\ttfamily},
    stepnumber=1,
    sensitive=false,
    numbersep=1zw,
    numbers=left,
    ndkeywordstyle={\small},
    lineskip=-0.5ex,
    keywordstyle={\small\bfseries},
    identifierstyle={\small},
    framexleftmargin=1mm,
    frame=single,
    emphstyle={\bfseries\small},
    commentstyle={\small\itshape},
    columns=[l]{fullflexible},
    breaklines=true,
    breakindent=0pt,
    breakatwhitespace=false,
    belowskip=0pt,
    basicstyle={\ttfamily\small},
    aboveskip=0pt,
}

ソースコードで折り返しに失敗

以下の記事をもとに修正をする

https://qiita.com/takahashim/items/2234c7881fc84f7b5139

\makeatletter
\def\lst@lettertrue{\let\lst@ifletter\iffalse}
\makeatother
(...)
\begin{document}

ソースコードの一部を強調

LaTeXのフォントは \ttfamily で等幅フォントになる.\bfseriesで太字になる. フォントの性質上 \ttfamily\bfseries は併用できない. そこで,黒魔術を使ってフォントの入れ替えを行う.

https://stackoverflow.com/a/7492295 https://stackoverflow.com/a/9438643

% bfseriesとttfamilyを併用する黒魔術
\DeclareFontShape{OT1}{cmtt}{bx}{n}{<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>cmttb10}{}

\lstset{
    basicstyle={\ttfamily\small}, %書体の指定 [ここ重要]
    frame=single , %フレームの指定
    breaklines=true, %行が長くなった場合の改行
    breakatwhitespace=false,
    tabsize=2, %Tabを何文字幅にするかの指定
    numbers=left, % 行番号の表示(left, none)
    stepnumber=1, % 行番号の増加数
    emph={baz,foo}, % 強調したい文字列をカンマ区切りで渡す [ここ重要]
    emphstyle={\bfseries\small}, % 強調するときの書体の指定 [ここ重要]
    alsoletter={-|":}, % 記号が含まれる場合に単語として認識しない対策
    sensitive=false,  % case sensitive(大文字小文字を区別)の有無
}

listingやソースコードを別名に

以下は Algorithm を Code へ変更している.

\renewcommand\lstlistingname{プログラム}
\renewcommand\lstlistlistingname{プログラム}

latex - How to change title in listings? - Stack Overflow

小山の設定例

\lstset{
    basicstyle={\ttfamily\small}, %書体の指定
    frame=single, % フレームの指定
    breaklines=true, % 行が長くなった場合の改行
    breakatwhitespace=true, % 空白で改行
    breakindent=0pt, % 改行したときのインデント
    tabsize=2, % Tabを何文字幅にするかの指定
    numbers=none, %left, % 行番号の表示
    stepnumber=1, % 行番号の増加数
    framexleftmargin=6mm, % 行場号を枠内に表示
    numbersep=5mm, % 行番号と本文の間隔 10pt
    emphstyle={\bfseries\small}, % 強調のスタイル
    sensitive=false,
}

擬似コード

以下にまとめた.

algorithmicxを使いLaTeXに擬似コードを追加 - Qiita

脚注

I'm writing something here to test \footnote{footnotes working fine}

https://www.overleaf.com/learn/latex/Footnotes

図表を2段組み

ミニページ

\begin{figure}[htbp]
\begin{minipage}{0.5\hsize}
% 環境
\begin{center}
    \includegraphics[width=\linewidth]{images/evaluation-environment.png}
    \caption{Experiment environments.}
    \label{fig:evaluation-env}
\end{center}

\end{minipage}
\begin{minipage}{0.5\hsize}

% 測定の方法
\begin{center}
    \includegraphics[width=\linewidth]{images/evaluation-method.png}
    \caption{The way to measure the response time.}
    \label{fig:evaluation-method}
\end{center}

\end{minipage}
\end{figure}