Skip to content

Instantly share code, notes, and snippets.

@kmuto
Last active January 2, 2018 08:14
Show Gist options
  • Save kmuto/083f3bdc4e116c51c43642de68b7f335 to your computer and use it in GitHub Desktop.
Save kmuto/083f3bdc4e116c51c43642de68b7f335 to your computer and use it in GitHub Desktop.
% jlreqクラスのテスト
% https://github.com/abenori/jlreq/blob/master/README-ja.md
% https://www.w3.org/TR/jlreq/ja/
\documentclass[book,% chapterを使用するbook環境
twoside,% 書籍のような見開きデザイン
paper=a5,% 紙サイズ(a0〜a10、b0〜b10(JIS寸法)、c2〜c8)。変型を示すためにpaper={幅mm,高さmm}で指定することも可能
fontsize=12Q,% 欧文基本書体Q数(pt指定も可能)
jafontsize=12Q,% 和文基本書体Q数(pt指定も可能)
baselineskip=21.6Q,% 行送り。普通は和文の1.5〜1.8倍くらい
line_length=36zw,% (横書きにおいて)版面の横方向全角文字数。市販書を参考にするとよい
number_of_lines=30,% (横書きにおいて)版面の縦方向行数
head_space=20mm,% 版面の天アキ
gutter=20mm,% 版面のノド(綴じ側)アキ。小口(開き側)アキはline_lengthから算出される
headfoot_sidemargin=-10mm,% (横書きにおいて)ノンブル/柱の小口からの横方向相対位置。JLREQ的には0であるべきらしい。傍注は版面扱いのため、sidenote_lengthを指定すると版面はそのノド方向に広がる
%sidenote_length=10mm,% 傍注の幅。指定しないと\sidenoteは無効
% column_gap=XXmm % twocolumn指定時の段間のアキ
% foot_space=XXmm % 版面の地アキ。天と行数から判定させたほうがよい
% linegap=XX Q % 行間。本文Qと行送りで指定したほうがよい
% open_bracket_pos=[zenkaku_tentsuki/zenkakunibu_nibu/nibu_tentsuki]:始め括弧が行頭に来た際の配置方法を指定します.それぞれ段落開始全角折り返し行頭天付き(デフォルト),段落開始全角二分折り返し行頭二分,段落開始二分折り返し行頭天付きを意味します.→「天」と言ってるのは縦書きの話で、横書きでは左端。横書きだと違いがわからん
% hanging_punctuation,% ぶら下げ組
jlreq_notes% JLREQ的な警告を表示
]{jlreq}
% このほかにoneside, onecolumn, twocolumn, titlepage, notitlepage, draft, final, openright, openany, leqno, fleqn がある
\makeatletter % clsで定義されている@を含むコマンドを使いたいとき
% 節見出しを調整。元の内容をコピーし、second_heading_text_indentの1つめのパラメータ(採番あり側)、2つめのパラメータ(採番なし側)を両方とも0にする。ここは単にTeXなのでzwではなく\zwで記す必要がある
% \DeclareBlockHeading{section}{1}{font={\jlreq@keepbaselineskip{\Large\sffamily\bfseries}},lines=3,after_label_space=1\zw,second_heading_text_indent={0\zw,0\zw},subtitle_font={\jlreq@keepbaselineskip{\normalsize}}}
% ある項目だけ、を直すならModifyのほうがよさそう
\ModifyHeading{section}{second_heading_text_indent={0\zw,0\zw}}
% 採番部分をJLREQでは「ラベル」と呼んでいる
% RenewとDeclareの違いは?
% Declare: 定義されていようがいまいが新規に設定する
% New: 「定義されていなければ」Declareを使って設定する。されていればエラー
% Renew: 「定義されていなければ」エラー。されていればDeclareを使って再設定する
% Provide: 「定義されていなければ」Declareを使って設定する。すでに定義されていたら何もしない
% よって、継承でもしないかぎり、Declareでよさそう。
% BlockHeadingは別行見出し(ページを起こさない、独立した行の見出し。一般的な節や項に使う)
% 「X.X」部分を指定するlabel_formatがここでは指定されていないようだがちゃんと入ってる(\thesubsection) {label_format}{\edef\jlreq@label@format{\unexpanded{##1}}} か
% 見出しをページ起こしさせたいときにはpagebreak=clearpageを入れる。デフォルトはnariyuki(この名前はどうなんだろう…)
% linesが見出しの行取り数。before_lines、after_linesで前後アキ行数も指定可能。before_space、after_spaceならmmなどの単位で指定できる
% section→subsection
%
% TobiraHeadingだと扉見出し。type=hanは版扉(裏白にしない)、type=nakaは中扉(裏白にする)
% sidenoteの形。以下を指定しないデフォルトの場合は\sidenote{〜}で脚注と同じ採番になる。
% 以下を指定していると脚注とは別に「*」が付き、\sidenote{見出し}{〜}という形になる。
%\jlreqsetup{sidenote_type=symbol}
% 後注の制御
% \jlreqsetup{endnote_position}
% > headings/paragraph/{_<見出し名1>,_<見出し名2>,...}]:後注の出力場所を指定します.headingsは各見出しの直前(デフォルト),paragraphは改段落の際に出力します.また,endnote_position={_chapter,_section}とすると,\chapterと\sectionの直前に出力します.
% …とのこと。endnoteを使うケースは少ない
% 脚注マークの位置。inlineがデフォルト、interlinearはその場所の上になるが置き方によっては変なところになる(段落最後にfootnoteを入れた場合、右側アキとの中間になった)
% \jlreqsetup{reference_mark=inline/interlinear}
\renewcommand*{\thefootnote}{注\inhibitglue\hspace{0pt}\arabic{footnote}\hbox{}\inhibitglue}
% bodyという名前のpagestyleを作る
% nombre_positionは「Y位置(top,bottom,center)-X位置(left,right,gutter,fore_edge)」で指定。gutterはノド、fore_edgeは小口を表す。
% twosideが指定されている場合はleft,rightは奇数ページの指定で、偶数ページでは反転される
% running_head_positionは柱の位置。同じ場所に置いた場合、まずノンブルが配置され、その横に柱が入る
%\DeclarePageStyle{body}{yoko,nombre_position={top-fore_edge},running_head_position={top-fore_edge},odd_running_head=_section,even_running_head=\leftmark}
% nombre={\thepage} ノンブルに出力する文字列。奇数・偶数で変えることはできない模様
% odd_running_head=コンテンツ 右柱の文字列。_sectionとすると\sectionの内容が入る
% even_running_head=コンテンツ 左柱の文字列。_chapterとすると\chapterの内容が入る
% \NewPageStyle,\RenewPageStyle,\ProvidePageStyle →何をするものか?
% \ModifyPageStyle 既存のスタイルの変更
% headingsをちょっとだけ変える
\ModifyPageStyle{headings}{nombre_position={top-fore_edge},running_head_position={top-fore_edge}}
% undocumentedだが\ModifyPageStyle{headings}{mark_format={_chapter={第\thechapter 章\quad #1}}というのがあるな
% footnoteインデントを1字下げにしない
% \jlreqsetup{footnotetext_indent=one}% これ変えても効かないな
\jlreq@footnoteindent=0\zw
% 脚注線はJLREQで固定されているようだ。全体上書きして版面いっぱいにしてみる
\edef\footnoterule{%
\unexpanded{\hrule width \textwidth height \jlreq@omotekeiwidth}%
\noexpand\kern\the\jlreq@tempdima
}
% headings pagestyleを全体に適用
% 章見出しのあるページはまた別のpagestyleになっており、柱は無視されるようだ
\pagestyle{headings}
\usepackage{luatexja-fontspec}
% 欧文 main=地の文、sans=ゴシック文
%\setmainfont[Ligatures=TeX]{TeXGyreTermes}
%\setsansfont[Ligatures=TeX]{TeXGyreHeros}
\setmainfont[Ligatures=TeX,BoldFont=NotoSansCJKjp-Bold.otf]{NotoSerifCJKjp-Regular.otf}
\setsansfont[Ligatures=TeX]{NotoSansCJKjp-Bold.otf}
% 和文 main=地の文、sans=ゴシック文
% BoldFont=はそのTeX書体指定状態でBになったとき
%\setmainjfont[BoldFont=A-OTF-UDShinGoNTPr6N-Medium.otf]{A-OTF-RyuminPro-Regular.otf}
%\setsansjfont{A-OTF-UDShinGoNTPr6N-Medium.otf}
\setmainjfont[BoldFont=NotoSansCJKjp-Bold.otf]{NotoSerifCJKjp-Regular.otf}
\setsansjfont{NotoSansCJKjp-Bold.otf}
% コード書体
\setmonofont[BoldFont=SourceHanCodeJP-Bold.otf,ItalicFont=SourceHanCodeJP-NormalIt.otf]{SourceHanCodeJP-Normal.otf}
% キャプションフォントの指定
% \jlreqsetup{caption_font={\sffamily\bfseries}}
% キャプションラベルの設定
% \jlreqsetup{caption_label_font={\sffamily\bfseries}}
%\DeclareTobiraHeading{chapter}{1}{format={\null\vfil {\huge\gtfamily\bfseries {\LARGE #1}#2}}}
% dvipdfmxで作るPDFを指定の紙面サイズにする
% これはjlreqではやってくれない
\newdimen\pdfpaperwidth \pdfpaperwidth\paperwidth
\newdimen\pdfpaperheight \pdfpaperheight\paperheight
\special{papersize=\the\pdfpaperwidth,\the\pdfpaperheight}%
\usepackage{url}
\usepackage{pxrubrica}
\rubysetup{J}% pxrubricaの新しいバージョンで利用可能な「よきにはからう」オプション
\begin{document}
\chapter{はじめに}
\label{chap:intro}
\textbf{Re:VIEW}(\textbf{りびゅー}、\url{http://reviewml.org/})は、青木峰郎氏が2002年に設計・開発したマークアップ記述言語およびドキュメント変換システムです。その後筆者がこれを引き継ぎ、高橋征義氏、角征典氏の加わったチーム体制で、GitHub上で開発と保守を続けています。その優れた設計思想と、簡易かつ拡張性のある言語体系、そしてEPUBや(\LaTeX{}による)PDFを1つのRe:VIEW原稿から作成できる機能が、昨今の電子書籍ブームとあいまって、エンジニアを中心に多くの利用者を獲得するに至りました。\footnote{脚注。長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?長いとどうなる?}
% 脚注折り返しをスペースの後ろに合わせるには。2桁のときに処理が必要?
\section{タイプライタ}
\noindent
\texttt{\textbf{A}1234\textit{56Z89}\textbf{B}123456789\textbf{C}123456789D123456789E123456789F123456789G123456789H123456789}
行頭カッコ\linebreak{}(括弧
\clearpage
\section[ながーい節名]{ながーーーーーーーーーーーーーーーーーーーーー\\ーーーーーーーーーーーーーーーーーい節名}[副題?]
% 通常のLaTeX同様、最初の[]で柱や目次用の文字列をオプション指定できる。最後の[]で副題を指定できる(chapterやsubsectionなども可能)
% 折り返したときに採番空白の後で合わせたいが…
%傍注はちょっとややこしい\sidenote{sidenote\_length指定時のみ有効な命令。}。
%傍注はちょっと\sidenote{ややこしい}{sidenote\_length指定時のみ有効な命令。}。
%\section{ルビ}
\ruby{乖離}{かいり}
%あれは\ruby{鷹}{たか}ではなく\ruby{鶯}{うぐいす}です。
\ruby{小鳩}{こ|ばと}% \ruby{孔雀}{く|じゃく}
\clearpage
\[
\int_{-\infty}^{\infty} \mbox{無限大}
\]
ぼA{\jafontsize{9pt}{15pt}\selectfont{}ぼA}{\jafontsize{12pt}{15pt}\selectfont{}ぼA}{\jafontsize{15pt}{15pt}\selectfont{}ぼA}
% 第二引数は\fontsizeの第二引数と全く同じです.→つまり行送り
% \selectfontしないと効かないことに注意
% 欧文も付いてくるようだ?
\ \ \ \ 全角スペース
% \endnote{〜}で後注。見出しの直前に配置される。\theendnotesでその場出力
% 割注↓
% \warichu*{(一行目前) & (一行目後)\\ (二行目前) & (二行目後)...}
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment