あちこちに書き散らして忘れるので、自分のためにまとめておく。
目次とか章タイトルのノンブル
jsbook.clsのここにある。ヘッダーとかフッターを上書きしても意図しない出力があるときはここを見てみる。
\def\@evenhead{%
\if@mparswitch \hss \fi
%\hbox to \fullwidth{\textbf{\thepage}\hfil}%
\hbox to \fullwidth{
%\textbf{\thepage}
\hfil}%
\if@mparswitch\else \hss \fi}%
\def\@oddhead{%
%\hbox to \fullwidth{\hfil\textbf{\thepage}}\hss}}
\hbox to \fullwidth{\hfil
%\textbf{\thepage}
}\hss}}
pandocのおまじない
pandocでMarkdownからTeXを作る。
pandoc in.md --chapters -o out.tex
-V documentclass=ltjarticle
--latex-engine=lualatex
--listings
--chapters:Chapterから始める
--listings:listingを反映する
強調
jsbook.clsを使っているとき、和文:ゴシック体、欧文:セリフ体の組み合わせにする。
\sfffamily, \textsf
listingと見出し
見出し直後にlistingがあると行間が狂う。見出しとlistingの間にネームがあるときには問題は起こらない。
見出しの行どりを保つには、直後のlistingを枠で囲む。
\section{見出し}\label{見出し}
\begin{mdframed}[
linewidth=0,
]
\begin{lstlisting}[
language=C++,
aboveskip=0.0zw,
belowskip=-1.0zw,
xleftmargin=0.0zw
]
Hello.
\end{lstlisting}
\end{mdframed}
ここでlistingの再定義をするには、\lstnewenvironmentを使う必要がある。
\lstnewenvironment{newlisting}
{\lstset{
language=C++,
aboveskip=0.0zw,
belowskip=-1.0zw,
xleftmargin=0.0zw
}}
{}
こちらを参照。
qiita.com
と、こんな面倒なことをしなくてもよさげ。
\bgroup, \egroupでくくればよい。
といっても、Listingの再設定は必要かも。
listingとlstinline
Markdownの`code`の指定は、pandocを通すと、
\lstinline!code!
と変換される(デフォルト)。
\lstinlineの設定は、\lstsetが反映される。
本文中でリストの折り返しが出てくるときの指定は
breaklines=true or false
でコントロールできる。と言っても、次の行に送られる(折り返される)場所の確認が必要。
参考:この本を底本にしながら学習中。
参考:
CTAN: The Comprehensive Archive Network
CTAN: Comprehensive TeX Archive Network