review-retrovert 0.9.2 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,71 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ ##
4
+ ## ReVIEW::LATEXBuilderクラスを拡張する
5
+ ##
6
+
7
+ require 'review/latexbuilder'
8
+
9
+
10
+ module ReVIEW
11
+
12
+ defined?(LATEXBuilder) or raise "internal error: LATEXBuilder not found."
13
+
14
+
15
+ module LATEXBuilderForIRD
16
+ # def headline(level, label, caption)
17
+ # if level >= 4
18
+ # puts '\needspace{3zh}'
19
+ # end
20
+ # super(level,label,caption)
21
+ # puts '\nopagebreak[4]'
22
+ # end
23
+
24
+ def ul_begin
25
+ blank
26
+ puts '\begin{reviewitemize}'
27
+ end
28
+ def ul_end
29
+ puts '\end{reviewitemize}'
30
+ blank
31
+ end
32
+ end
33
+
34
+ class LATEXBuilder
35
+ prepend LATEXBuilderForIRD
36
+
37
+ # def headline(level, label, caption)
38
+ # _, anchor = headline_prefix(level)
39
+ # headline_name = HEADLINE[level]
40
+ # if @chapter.is_a?(ReVIEW::Book::Part)
41
+ # if @book.config.check_version('2', exception: false)
42
+ # headline_name = 'part'
43
+ # elsif level == 1
44
+ # headline_name = 'part'
45
+ # puts '\begin{reviewpart}'
46
+ # end
47
+ # end
48
+ # prefix = ''
49
+ # if level > @book.config['secnolevel'] || (@chapter.number.to_s.empty? && level > 1)
50
+ # prefix = '*'
51
+ # end
52
+ # blank unless @output.pos == 0
53
+ # @doc_status[:caption] = true
54
+ # puts macro(headline_name + prefix, compile_inline(caption))
55
+ # puts '\nopagebreak[4]'
56
+ # @doc_status[:caption] = nil
57
+ # if prefix == '*' && level <= @book.config['toclevel'].to_i
58
+ # puts "\\addcontentsline{toc}{#{headline_name}}{#{compile_inline(caption)}}"
59
+ # end
60
+ # if level == 1
61
+ # puts macro('label', chapter_label)
62
+ # else
63
+ # puts macro('label', sec_label(anchor))
64
+ # puts macro('label', label) if label
65
+ # end
66
+ # puts '\nopagebreak[4]'
67
+ # rescue
68
+ # error "unknown level: #{level}"
69
+ # end
70
+ end
71
+ end
@@ -0,0 +1,318 @@
1
+ %
2
+ % フォント
3
+ %
4
+
5
+ % \tiny 5pt
6
+ % \scriptsize 7pt
7
+ % \footnotesize 8pt
8
+ % \small 9pt
9
+ % \normalsize 10pt(標準)
10
+ % \large 12pt
11
+ % \Large 14.4pt
12
+ % \LARGE 17.28pt
13
+ % \huge 20.74pt
14
+ % \Huge
15
+
16
+ \def\@setfontsize#1#2#3{%
17
+ \ifx\protect\@typeset@protect
18
+ \let\@currsize#1%
19
+ \fi
20
+ \fontsize{#2}{#3}\selectfont
21
+ \ifdim\parindent>\z@
22
+ \if@english
23
+ \parindent=1em
24
+ \else
25
+ \parindent=1zw
26
+ \fi
27
+ \fi
28
+ \kanjiskip=0zw plus .1zw minus .01zw
29
+ \ifdim\xkanjiskip>\z@
30
+ \if@slide \xkanjiskip=0.1em \else
31
+ % \xkanjiskip=0.25em plus 0.15em minus 0.06em
32
+ \xkanjiskip=0.2em plus 0.15em minus 0.16em
33
+ \fi
34
+ \fi
35
+ }
36
+
37
+ %
38
+ % 章・節・項の変更
39
+ %
40
+
41
+ \def\@afterheading{%
42
+ \@nobreaktrue
43
+ \everypar{%
44
+ \if@nobreak
45
+ \@nobreakfalse
46
+ % \clubpenalty \@M
47
+ \clubpenalty \z@ % 段落一段目での改ページを許可する
48
+ \if@afterindent \else
49
+ {\setbox\z@\lastbox}%
50
+ \fi
51
+ \else
52
+ \clubpenalty \@clubpenalty
53
+ \everypar{\everyparhook}%
54
+ \fi\everyparhook}}
55
+
56
+
57
+ \def\@makechapterhead#1{%
58
+ % \vspace*{2\Cvs}% 欧文は50pt →上空きを無効化
59
+ {\parindent \z@ \raggedright \normalfont
60
+ \ifnum \c@secnumdepth >\m@ne
61
+ \if@mainmatter
62
+ \huge\headfont \@chapapp\thechapter\@chappos
63
+ % \par\nobreak
64
+ % \vskip \Cvs % 欧文は20pt
65
+ \fi
66
+ \fi
67
+ \interlinepenalty\@M
68
+ \huge \headfont \ #1\par\nobreak
69
+ \vskip 3\Cvs}} % 欧文は40pt
70
+
71
+ % \usepackage[hiragino-pron]{pxchfon}
72
+ \renewcommand{\headfont}{\gtfamily\sffamily}
73
+
74
+ % \hyphenpenalty=10000\relax
75
+
76
+ \renewcommand{\section}{%
77
+ \if@slide\clearpage\fi
78
+ \@startsection{section}{1}{\z@}%
79
+ {1.3\Cvs \@plus.5\Cdp \@minus1.2\Cdp}% 前アキ
80
+ {.5\Cvs \@plus.3\Cdp}% 後アキ
81
+ {\normalfont\large\bfseries\headfont\raggedright}}
82
+
83
+ \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
84
+ {.8\Cvs \@plus.5\Cdp \@minus1.2\Cdp}% 前アキ
85
+ {.5\Cvs \@plus.3\Cdp}% 後アキ
86
+ {\normalfont\normalsize\headfont}}
87
+
88
+ \renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
89
+ {.6\Cvs \@plus.5\Cdp \@minus1.2\Cdp}%
90
+ {\if@slide .2\Cvs \@plus.6\Cdp \else .2\Cvs \@plus.3\Cdp \fi}%
91
+ {\normalfont\normalsize}}
92
+
93
+ \def\@startsection#1#2#3#4#5#6{%
94
+ \if@noskipsec \leavevmode \fi
95
+ \par
96
+ \@tempskipa #4\relax
97
+ \if@english \@afterindentfalse \else \@afterindenttrue \fi
98
+ \ifdim \@tempskipa <\z@
99
+ \@tempskipa -\@tempskipa \@afterindentfalse
100
+ \fi
101
+ \if@nobreak
102
+ \everypar{}%
103
+ \else
104
+ \addpenalty\@secpenalty\addvspace\@tempskipa
105
+ %改ページ後の不要な空白を削除
106
+ % \addpenalty\@secpenalty
107
+ % \ifdim \@tempskipa >\z@
108
+ % \if@slide
109
+ % \else
110
+ % \null
111
+ % \vspace*{-\baselineskip}%
112
+ % \fi
113
+ % \vskip\@tempskipa
114
+ % \fi
115
+ \fi
116
+ \noindent
117
+ \@ifstar
118
+ {\@ssect{#3}{#4}{#5}{#6}}%
119
+ {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
120
+
121
+ % \def\@ssect#1#2#3#4#5{%
122
+ % \@tempskipa #3\relax
123
+ % \ifdim \@tempskipa<\z@
124
+ % \def\@svsechd{#4{\hskip #1\relax #5}}%
125
+ % \else
126
+ % \begingroup
127
+ % #4{%
128
+ % \@hangfrom{\hskip #1}%
129
+ % \interlinepenalty \@M #5\@@par}%
130
+ % \endgroup
131
+ % \nopagebreak[4]%
132
+ % \fi
133
+ % \@xsect{#3}}
134
+
135
+ % \def\@xsect#1{%
136
+ % \@tempskipa #1\relax
137
+ % \ifdim \@tempskipa<\z@
138
+ % \@nobreakfalse
139
+ % \global\@noskipsectrue
140
+ % \everypar{%
141
+ % \if@noskipsec
142
+ % \global\@noskipsecfalse
143
+ % {\setbox\z@\lastbox}%
144
+ % \clubpenalty\@M
145
+ % \begingroup \@svsechd \endgroup
146
+ % \unskip
147
+ % \@tempskipa #1\relax
148
+ % \hskip -\@tempskipa
149
+ % \else
150
+ % \clubpenalty \@clubpenalty
151
+ % \everypar{\everyparhook}%
152
+ % \fi\everyparhook}%
153
+ % \else
154
+ % \nopagebreak[4]
155
+ % \par \nobreak
156
+ % \vskip \@tempskipa
157
+ % \@afterheading
158
+ % \fi
159
+ % \if@slide
160
+ % {\vskip\if@twocolumn-5\jsc@mpt\else-6\jsc@mpt\fi
161
+ % \maybeblue\hrule height0\jsc@mpt depth1\jsc@mpt
162
+ % \vskip\if@twocolumn 4\jsc@mpt\else 7\jsc@mpt\fi\relax}%
163
+ % \fi
164
+ % \par % 2000-12-18
165
+ % \ignorespaces}
166
+
167
+ %
168
+ % コラムの変更
169
+ %
170
+
171
+ \def\ifempty#1{\def\temp{#1} \ifx\temp\empty }
172
+
173
+ \renewenvironment{reviewcolumn}[1][]{%
174
+ \begin{framed}
175
+ \ifempty{#1}%
176
+ \else%
177
+ \reviewcolumnhead{}{#1}%
178
+ \fi%
179
+ \footnotesize
180
+ }{%
181
+ \end{framed}
182
+ % \vspace{-2pt}
183
+ }
184
+
185
+ \renewcommand{\reviewcolumnhead}[2]{%
186
+ {\noindent\large\bfseries #2}\vspace{1.7mm}}
187
+
188
+
189
+ %
190
+ % 図
191
+ %
192
+
193
+ \renewenvironment{reviewimage}{%
194
+ \begin{figure}
195
+ \begin{flushleft}}{%
196
+ \end{flushleft}
197
+ \end{figure}
198
+ \vspace{-5.5pt}
199
+ }
200
+
201
+ % \renewcommand\reviewimagecaption[1]{%
202
+ % \captionsetup{format=hang,font=scriptsize,labelfont=bf,margin=50pt,name=図}
203
+ % \caption{ \bfseries\scriptsize{#1}} \vspace{-1.5mm}}
204
+
205
+ \renewcommand\reviewimagecaption[1]{%
206
+ \captionsetup{format=hang,font=footnotesize,labelfont=bf,margin=0pt,justification=raggedright,singlelinecheck=off,name=図}
207
+ \vspace{-1mm} \caption{ \bfseries\footnotesize{#1} } \vspace{-1.5mm}}
208
+
209
+ % % フォントのに対して調整
210
+ % \def\irdmaxwidth{0.99\textwidth}
211
+ % \usepackage[export]{adjustbox}
212
+ % \DeclareRobustCommand{\reviewincludegraphics}[2][]{%
213
+ % \adjustbox{max width=\irdmaxwidth}{%
214
+ % \includegraphics[#1]{#2}}%
215
+ % }
216
+
217
+ %
218
+ % 表
219
+ %
220
+ \renewcommand{\reviewtablecaption}[1]{%
221
+ \captionsetup{format=hang,font=footnotesize,margin=70pt,name=表}
222
+ \caption{ \footnotesize{#1}} \vspace{-3mm}}
223
+
224
+ \renewcommand{\reviewimgtablecaption}[1]{%
225
+ \captionsetup{format=hang,font=footnotesize,margin=70pt,name=表}
226
+ \caption{ \footnotesize\noindent{#1}} \vspace{-3mm}}
227
+
228
+ %
229
+ % 箇条書き
230
+ %
231
+
232
+ % \usepackage{enumitem}
233
+ % \setlist[enumerate]{topsep=0pt,parsep=1pt}
234
+ % \setlist[itemize]{topsep=0pt,parsep=1pt}
235
+
236
+ \newenvironment{reviewitemize}{%
237
+ \ifnum\@listdepth=0%
238
+ \def\@listi{%
239
+ \@listI%
240
+ % \topsep 0.1\baselineskip% % 上下の余白を減らす(original: 0.5\baselineskip)
241
+ % \topsep \z@% % 上下の余白を減らす(original: 0.5\baselineskip)
242
+ \topsep -0.25\baselineskip% % 上下の余白を減らす(original: 0.5\baselineskip)
243
+ }%
244
+ \fi%
245
+ \begin{itemize}%
246
+ \setlength{\parskip}{-0.6pt}% 要素の間隔を詰める
247
+ }{%
248
+ \end{itemize}%
249
+ }
250
+
251
+ %
252
+ % リスト
253
+ %
254
+
255
+ \renewcommand{\reviewlistcaption}[1]{%
256
+ \vspace*{0.6zw}\medskip{\small\noindent #1}\vspace*{-1.3zw}}
257
+
258
+ \renewenvironment{reviewlist}{%
259
+ \begin{shaded}%
260
+ \vspace*{-1zw}% 前後の余白削除
261
+ \small%
262
+ \ifdefined\reviewlistxkanjiskip%
263
+ \xkanjiskip=\reviewlistxkanjiskip%
264
+ \fi%
265
+ \setlength{\baselineskip}{1.3zw}%
266
+ \begin{alltt}}{%
267
+ \end{alltt}%
268
+ \vspace*{-1zw}% 前後の余白削除
269
+ \end{shaded}%
270
+ \par%
271
+ % \vspace*{0.5zw}%
272
+ \vspace*{1zw}%
273
+ }
274
+
275
+ %
276
+ % cmd
277
+ %
278
+
279
+ \renewenvironment{reviewlistblock}{\needspace{\Cvs}}{}
280
+
281
+ \renewenvironment{reviewcmd}{%
282
+ \medskip%
283
+ \ifdefined\reviewlistxkanjiskip%
284
+ \xkanjiskip=\reviewlistxkanjiskip%
285
+ \fi%
286
+ \vspace*{-2.5zw \@plus.3\Cdp}% 枠の前の余白削除
287
+ \begin{framed}%
288
+ % \interlinepenalty=10000%
289
+ \vspace*{-0.8zw}% 前後の余白削除
290
+ % \setlength{\baselineskip}{1.3zw}%
291
+ \setlength{\baselineskip}{2zw}%
292
+ \begin{alltt}}{%
293
+ \end{alltt}%
294
+ \vspace*{-0.8zw}% 前後の余白削除
295
+ \end{framed}%
296
+ \vspace*{0.3mm}% 枠の後ろの余白の調整
297
+ }
298
+
299
+ % \renewenvironment{reviewcmd}{%
300
+ % \medskip%
301
+ % \ifdefined\reviewlistxkanjiskip%
302
+ % \xkanjiskip=\reviewlistxkanjiskip%
303
+ % \fi%
304
+ % \vspace*{-2zw \@plus2.7\Cdp}% 枠の前の余白削除
305
+ % \begin{framed}%
306
+ % \vspace*{-1zw}% 前後の余白削除
307
+ % % \setlength{\baselineskip}{1.3zw}%
308
+ % \setlength{\baselineskip}{2zw}%
309
+ % \begin{alltt}}{%
310
+ % \end{alltt}%
311
+ % \vspace*{-1zw}% 前後の余白削除
312
+ % \end{framed}%
313
+ % % この値だといい感じになる
314
+ % \vspace*{-0.2mm}% 枠の後ろの余白の調整
315
+ % }
316
+
317
+ % code
318
+ \DeclareRobustCommand{\reviewcode}[1]{{\small\ttfamily\reviewbreakall{#1}}}
@@ -1,5 +1,5 @@
1
1
  module ReVIEW
2
2
  module Retrovert
3
- VERSION = "0.9.2"
3
+ VERSION = "0.9.7"
4
4
  end
5
5
  end
@@ -87,9 +87,19 @@ module ReVIEW
87
87
  rewrite_retrovert_yml()
88
88
  end
89
89
 
90
+ def commentout(yamlfile, key)
91
+ content = File.read(yamlfile)
92
+ content.gsub!(/^(\s*)#{key}:(.*)$/, "#\\1#{key}:\\2")
93
+ File.write(yamlfile, content)
94
+ end
95
+
96
+ def commentout_root_yml(key)
97
+ commentout(File.join(@basedir, @basename), key)
98
+ end
99
+
90
100
  def rewrite_yml_(yamlfile, key, val)
91
101
  content = File.read(yamlfile)
92
- content.gsub!(/^(\s*)#{key}:.*$/, '\1' + "#{key}: #{val}")
102
+ content.gsub!(/^(\s*)#{key}:.*$/, "\\1#{key}: #{val}")
93
103
  File.write(yamlfile, content)
94
104
  end
95
105
 
@@ -99,6 +109,18 @@ module ReVIEW
99
109
  }
100
110
  end
101
111
 
112
+ def rewrite_yml_array_(yamlfile, key, val)
113
+ content = File.read(yamlfile)
114
+ content.gsub!(/^(\s*)#{key}:\s*\[.*?\]/m, '\1' + "#{key}: #{val}")
115
+ File.write(yamlfile, content)
116
+ end
117
+
118
+ def rewrite_yml_array(key, val)
119
+ config_files.each { |current_file|
120
+ rewrite_yml_array_(File.join(@basedir, current_file), key, val)
121
+ }
122
+ end
123
+
102
124
  def rewrite_retrovert_yml()
103
125
  @retrovert_configs.each { |current_file|
104
126
  yamlfile = File.expand_path(current_file, @basedir)
@@ -109,6 +131,7 @@ module ReVIEW
109
131
  # YAML.dump(yaml, File.open(yamlfile, "w"))
110
132
  content = Psych.dump(yaml)
111
133
  content.gsub!('---','')
134
+ content.gsub!(/^(.*):\s*$/, '\1: null')
112
135
  File.write(yamlfile, content)
113
136
  }
114
137
  end
@@ -125,6 +148,14 @@ module ReVIEW
125
148
  return yaml
126
149
  end
127
150
 
151
+ def path()
152
+ File.join(@basedir, @basename)
153
+ end
154
+
155
+ def catalogfile()
156
+ File.join(@basedir, @config['catalogfile'])
157
+ end
158
+
128
159
  end
129
160
  end
130
- end
161
+ end