Skip to content

Instantly share code, notes, and snippets.

@kauplan
Last active February 1, 2020 21:14
Show Gist options
  • Save kauplan/36779c17e0814e6c5fb4f3ac1f22f135 to your computer and use it in GitHub Desktop.
Save kauplan/36779c17e0814e6c5fb4f3ac1f22f135 to your computer and use it in GitHub Desktop.
日本語を細字のゴシック体、英数字を細字のサンセリフ体にし、かつ「第1章」が明朝体になる症状や脚注の英数字が細くならない症状を回避する
%% -*- coding: utf-8 -*-
\documentclass[uplatex,dvipdfmx,a5paper,10pt,papersize]{jsbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[deluxe]{otf}
\usepackage{lmodern}
\renewcommand{\headfont}{\gtfamily\sffamily\bfseries}
%% 日本語フォントを細いものに変更(Notoフォント前提)
\special{pdf:mapline uphminr-h unicode NotoSerifCJK-Light.ttc} % 明朝体
\special{pdf:mapline uphgothr-h unicode NotoSansCJK-Light.ttc} % ゴシック体
\special{pdf:mapline uphminb-h unicode NotoSerifCJK-Medium.ttc} % 明朝体(太字)
\special{pdf:mapline uphgothb-h unicode NotoSansCJK-Medium.ttc} % ゴシック体(太字)
%%% (英数字)セリフ体のフォントを細いものに変更
%%% 参考:https://tug.org/FontCatalogue/iwonalight/
%%% https://tug.org/FontCatalogue/sourceserifprolight/
\usepackage[light,math]{iwona}
\def\bfdefault{bx} % 日本語の太字が効くように修正
%\usepackage[light,semibold]{sourceserifpro}
%\ifx\bfseries@rm\@undefined\else
% \def\bfseries@rm{bx} % 日本語の太字が効くように修正
%\fi
%% (英数字)サンセリフ体のフォントを細いものに変更
%% https://tug.org/FontCatalogue/robotolight/
\usepackage[light]{roboto}
\makeatletter
\ifx\bfseries@sf\@undefined\else
\def\bfseries@sf{bx} % 日本語の太字が効くように修正
\fi
\makeatother
%% デフォルトのフォントをゴシック体に変更
%% ただしサンセリフ体にすると脚注の英数字が細くならないので、英数字はセリフ体のまま。
%% See https://twitter.com/_kauplan/status/1223641864189857793
%\renewcommand\familydefault{\sfdefault} % 英数字をサンセリフ体に変更
\renewcommand\kanjifamilydefault{\gtdefault} % 日本語をゴシック体に変更
\makeatletter
%% 「第1章」が明朝体で表示されてしまう症状を回避してゴシック体で表示するハック
%% See https://twitter.com/_kauplan/status/1223633940906295296
\let\original@@makechapterhead=\@makechapterhead
\def\@makechapterhead#1{%
{%
\renewcommand\familydefault{\sfdefault}% デフォルトフォントを一時的にサンセリフ体に変更
%\renewcommand\kanjifamilydefault{\gtdefault}% ゴシック体に変更しても効果がないことに注意
\original@@makechapterhead{#1}% % 章タイトルを表示
}%
}
%% 英数字のデフォルトフォントを細いサンセリフ体にしたとき、脚注の英数字が細くならない症状を回避するハック
%\ifx\familydefault\sfdefault % なぜか効かない。なんで?
\let\original@@footnotetext=\@footnotetext
\long\def\@footnotetext#1{%
\original@@footnotetext{{\sffamily #1}}% % 引数を強制的にサンセリフ体にする
}
%\fi
\makeatother
\begin{document}
\chapter{日本語 123 abc ABC}
\section{セクション 123 abc ABC}
\subsection{セクション 123 abc ABC}
本文 0123 abcifgpq ABCIF\footnote{脚注 0123 abcifgpq ABCIF}
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment