Skip to content

Instantly share code, notes, and snippets.

@kmuto
kmuto / review-ext.rb
Last active August 16, 2019 05:45
指定の幅で折り返す実装。Re:VIEW masterブランチの環境で動作する
module ReVIEW
module LATEXBuilderOverride
# gem install unicode_display_width
require 'unicode/display_width'
require 'unicode/display_width/string_ext'
CR = '→' # 送り出し文字。LaTeXコードも可
ZWSCALE = 0.875 # 和文・欧文の比率。\setlength{\xkanjiskip}{\z@} しておいたほうがよさそう
def split_line(s, n)
@kmuto
kmuto / gist:965a41e26582b32cac6a559e6c46cfcc
Created June 8, 2019 12:59
fboxで囲むreview-ext.rbの例
module ReVIEW
module LATEXBuilderOverride
def image_image(id, caption, metric)
metrics = parse_metric('latex', metric)
# image is always bound here
puts "\\begin{reviewimage}%%#{id}"
# ↓ここからが変更箇所
# 要するに、includegraphicsを\fbox{}で囲んでいる
# 太さとかアキを変えたいときには、http://www3.otani.ac.jp/fkdsemi/pLaTeX_manual/kasen.html を参考にreview-custom.styに記述
# 画像によって変えたいというときには、たとえばidを見てfboxで囲むかどうかを判定、みたいなロジックをここに加えればよい
# 空白を~に置き換えることでseqsplitで空白が消えないようにするハックを入れたreview-ext.rb
# Re:VIEW 3.0〜Re:VIEW 3.1向け (Re:VIEW 3.2では不要)
# プロジェクトにこのファイルを配置し、techbooster-doujin-base.styの「tt/codeでの折り返しの許容」のロジックの「\iffalse」を「\iftrue」に置き換える
module ReVIEW
module LATEXBuilderOverride
def inline_tt(s)
escape_space(super(s))
end
@kmuto
kmuto / review-ext.rb
Created March 4, 2019 14:32
tt, code内の'をtextquotesingleの形にする(textttを書き換えるのはいろいろ大変らしいので…)
module ReVIEW
module LATEXBuilderOverride
def inline_tt(s)
super(s).gsub("'", '\textquotesingle ').sub(/(textquotesingle) }$/, '\1}')
end
def inline_code(s)
super(s).gsub("'", '\textquotesingle ').sub(/(textquotesingle) }$/, '\1}')
end
end
@kmuto
kmuto / review-ext.rb
Created November 14, 2018 00:32
表の折り返しの別法
module ReVIEW
module LATEXBuilderOverride
def th(s)
macro('reviewth', s.gsub("\\\\\n", '\\newline{}'))
end
def td(s)
s.gsub("\\\\\n", '\\newline{}')
end
end
\renewcommand\frontmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@mainmatterfalse
\setcounter{page}{3}
% \pagenumbering{roman}}
}
#!/usr/bin/env ruby
# InDesign、TeXのB5変/A5のトンボ版をSONY DPT-RP1向けに実寸調整する
# Copyright 2018 Kenshi Muto
#
# TeXのトンボ値はGreenCherry社由来のトンボ設定に依存しており、別のトンボ実装の場合は異なる値になる可能性がある
#
# pdflatex、pdfinfo(Poppler)が利用できるようにしておく
require 'yaml'
require 'tmpdir'
@kmuto
kmuto / config.yml
Created April 13, 2018 10:04
カバー用設定例
# …既存の設定…
pdfmaker:
cover: cover.tex
\newcommand*\includefullpagegraphics[2][]{%
\clearpage
\thispagestyle{empty}%
\vbox to \textheight{%
% \vskip-\review@head
\vbox to \paperheight{\vss
\hbox to \textwidth{%
\ifodd\c@page
\hskip-\dimexpr\oddsidemargin + 1in\relax
\else
% 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,% (横書きにおいて)版面の横方向全角文字数。市販書を参考にするとよい