Skip to content

Instantly share code, notes, and snippets.

@tabinohito
Created December 23, 2024 09:46
Show Gist options
  • Save tabinohito/006a498415811dde368dd52433807172 to your computer and use it in GitHub Desktop.
Save tabinohito/006a498415811dde368dd52433807172 to your computer and use it in GitHub Desktop.
harurobo_c105 なスタイル
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{harurobo_c105}[2024/12/06 Custom class for harurobo]
% クラスオプションを定義
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{jlreq}}
\ProcessOptions\relax
% 必要なクラスの読み込み
\LoadClass{jlreq}
% 必要なパッケージの読み込み
\RequirePackage{luatexja}
\RequirePackage[haranoaji]{luatexja-preset}
\RequirePackage{luatexja-ruby}
\RequirePackage{lmodern}
\RequirePackage[T1]{fontenc}
\RequirePackage{subfiles}
\RequirePackage{pdfpages}
\RequirePackage{ifthen}
\RequirePackage{ascmac}
\RequirePackage{tcolorbox}
\tcbuselibrary{breakable}
\RequirePackage{multicol}
\RequirePackage{wrapfig}
\RequirePackage{graphicx}
\RequirePackage{float}
\RequirePackage{url}
\RequirePackage{etoolbox}
\RequirePackage{qrcode}
% geometry の設定を削除または最低限の調整
\RequirePackage{geometry}
\geometry{top=25mm, bottom=25mm, left=30mm, right=20mm} % 必要最小限の余白設定
% 偶数ページと奇数ページのノド・小口の余白を入れ替え
\makeatletter
\@ifclasswith{jlreq}{twoside}{% twoside の場合
\jlreqsetup{
binding-edge=30mm, % ノド側の幅
fore-edge=20mm % 小口側の幅
}
}{% oneside の場合(通常片面)
\jlreqsetup{
binding-edge=30mm, % デフォルト設定を維持
fore-edge=20mm
}
}
\makeatother
\RequirePackage{wrapfig}
\RequirePackage{enumitem}
\RequirePackage{longtable}
\RequirePackage{ulem}
\RequirePackage{xcolor}
\RequirePackage{makecell}
\geometry{top=25mm, bottom=25mm}
\RequirePackage{fancyhdr}
\RequirePackage{bookmark}
\RequirePackage{xurl}
\hypersetup{unicode,bookmarksnumbered=true,hidelinks,final}
% カスタム設定の記述
\newcommand{\setPart}[1]{\markboth{#1}{}}
\newcommand{\setSection}[1]{\markright{#1}}
% ページスタイルの設定
\pagestyle{fancy}
\fancyhf{} % デフォルトのヘッダー・フッターをクリア
% 奇数ページと偶数ページで異なる内容を表示
\fancyhead[LE,RO]{\leftmark} % 奇数ページ(右側)、偶数ページ(左側)にセクションのタイトル(\rightmark)を表示
% \fancyhead[LE,RO]{\rightmark} % 奇数ページ(左側)、偶数ページ(右側)に章のタイトル(\leftmark)を表示
% ページ番号をフッターの右下(偶数ページ)と左下(奇数ページ)に表示
\fancyfoot[LO,RE]{} % 偶数ページの右下、奇数ページの左下
\fancyfoot[LE,RO]{\thepage} % フッターの他の領域は空にする
\fancyfoot[C]{} % フッター中央は空にする
% 先頭ページ番号
% \setcounter{page}{3}
% 改行で段落とする
{\catcode`\^^M=\active%
\gdef\xobeylines{\catcode`\^^M\active \def^^M{\par\leavevmode}}%
\global\def^^M{\par\leavevmode}}
\AtBeginDocument{%
\ifthenelse{\value{page}=1}{%
% 1ページ目の設定(\xobeylinesを無効化)
\relax
}{%
% 2ページ目以降の設定
\xobeylines
}%
}
% % 段落で字下げしない(全角空白で字下げさせる)
% \parindent = 0pt
% % 行頭に来た場合に出力させない全角空白(\zenaki{})
% \newcommand{\zenaki}{\hskip1zw plus .125zw minus 0.03125zw}
% % 縦中横のコマンドを別名登録
% \newcommand{\tcy}[1]{\tatechuyoko{#1}}
\newif\ifcoverpage % 条件フラグを作成
\coverpagefalse % デフォルトは通常ページ
\endinput
\documentclass[
book, twoside, % 縦書き、見開きレイアウト
paper=b5j, % 用紙サイズ
fontsize=11Q, % フォントサイズ
twocolumn, % 二段組
column_gap=7.5mm, % 段と段の空白
binding_offset=0mm, % 綴じ方向のオフセットをゼロ
head_space=5mm, % 天の余白
foot_space=5mm, % 地の余白
baselineskip=1.7zw, % 行送り
headfoot_verticalposition=1.5zw, % ノンブルと本文の間の空白
hanging_punctuation, % ぶら下げ
openany
]{harurobo_c105}
\begin{document}
% 表紙 目次の出力
\subfile{0_index/a_index.tex}
% NHK学生ロボコンの新人大会とは
\subfile{1_introduction/a_introduction.tex}
% NHK学生ロボコンの新人大会特集
\subfile{2_competition/a_competition.tex}
% NHK学生ロボコンの新人大会活用例
\subfile{3_use_case/a_use_case.tex}
% % 大会運営まわり
\subfile{4_organization/a_organization.tex}
% % 寄稿文
\subfile{5_essay/a_essay.tex}
% % 編集後記的な
\subfile{6_conclusion/a_conclusion.tex}
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment