TeXなメモ書き

あちこちに書き散らして忘れるので、自分のためにまとめておく。

目次とか章タイトルのノンブル

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

でコントロールできる。と言っても、次の行に送られる(折り返される)場所の確認が必要。


参考:この本を底本にしながら学習中。

[改訂第7版]LaTeX2ε美文書作成入門

[改訂第7版]LaTeX2ε美文書作成入門

 

参考:

CTAN: The Comprehensive \TeX Archive Network

CTAN: Comprehensive TeX Archive Network