polytexnic 0.6.4 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.pull_requests/1384800466 +0 -0
- data/.pull_requests/1384811507 +0 -0
- data/lib/polytexnic/preprocessors/polytex.rb +8 -9
- data/lib/polytexnic/version.rb +1 -1
- data/spec/markdown_to_polytex_spec.rb +28 -2
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e32b34fc0d486225db6bb18c5457718e9cd8a3e
|
4
|
+
data.tar.gz: aa209cf0b57e84058935229ccdc4eb00669ead80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e292a89c3dfd6b5f0941093a4e1a11e327b4d3134ce3fecfd5ad0af0b063c558379009b9691df816a133e4e0a52206749ef7066244682bf34b556489a394968
|
7
|
+
data.tar.gz: c4638cb9a16135fc999b720b82bbe8bc262efd2d68f94fd993a100a6b5427fa7d50a2cc13653a94d3ff028058cf4e37c59c489f313775e75e76b765aa91970fe
|
File without changes
|
File without changes
|
@@ -27,12 +27,15 @@ module Polytexnic
|
|
27
27
|
cache = {}
|
28
28
|
math_cache = {}
|
29
29
|
cleaned_markdown = cache_code_environments
|
30
|
+
puts cleaned_markdown if debug?
|
30
31
|
cleaned_markdown.tap do |markdown|
|
31
32
|
convert_code_inclusion(markdown)
|
32
33
|
cache_latex_literal(markdown, cache)
|
33
34
|
cache_raw_latex(markdown, cache)
|
35
|
+
puts markdown if debug?
|
34
36
|
cache_math(markdown, math_cache)
|
35
37
|
end
|
38
|
+
puts cleaned_markdown if debug?
|
36
39
|
# Override the header ordering, which starts with 'section' by default.
|
37
40
|
lh = 'chapter,section,subsection,subsubsection,paragraph,subparagraph'
|
38
41
|
kramdown = Kramdown::Document.new(cleaned_markdown, latex_headers: lh)
|
@@ -67,13 +70,13 @@ module Polytexnic
|
|
67
70
|
# Caches raw LaTeX commands to be passed through the pipeline.
|
68
71
|
def cache_raw_latex(markdown, cache)
|
69
72
|
command_regex = /(
|
70
|
-
^\s*\\\w+.*\}\
|
73
|
+
^\s*\\\w+.*\}[ \t]*$ # Command on line with arg
|
71
74
|
|
|
72
75
|
~\\ref\{.*?\} # reference with a tie
|
73
76
|
|
|
74
77
|
~\\eqref\{.*?\} # eq reference with a tie
|
75
78
|
|
|
76
|
-
|
79
|
+
\\[^\s]+\{.*?\} # command with one arg
|
77
80
|
|
|
78
81
|
\\\w+ # normal command
|
79
82
|
|
|
@@ -90,13 +93,9 @@ module Polytexnic
|
|
90
93
|
# Restores raw LaTeX from the cache
|
91
94
|
def restore_raw_latex(text, cache)
|
92
95
|
cache.each do |key, value|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
text.gsub!(key, value.sub(/\\/, '\\\\\\'))
|
97
|
-
else
|
98
|
-
text.gsub!(key, value)
|
99
|
-
end
|
96
|
+
# Because of the way backslashes get interpolated, we need to add
|
97
|
+
# some extra ones to cover all the cases.
|
98
|
+
text.gsub!(key, value.gsub(/\\/, '\\\\\\'))
|
100
99
|
end
|
101
100
|
end
|
102
101
|
|
data/lib/polytexnic/version.rb
CHANGED
@@ -104,6 +104,11 @@ That is it. You can keep writing your text after the footnote content.
|
|
104
104
|
it { should include source }
|
105
105
|
end
|
106
106
|
|
107
|
+
context "an accented character" do
|
108
|
+
let(:source) { "\\`{e}" }
|
109
|
+
it { should include source }
|
110
|
+
end
|
111
|
+
|
107
112
|
context "a label and cross-reference" do
|
108
113
|
let(:source) do <<-'EOS'
|
109
114
|
# Chapter One
|
@@ -131,8 +136,15 @@ Chapter~\ref{cha:one}
|
|
131
136
|
foo
|
132
137
|
|
133
138
|
\begin{equation}
|
134
|
-
\label{eq:
|
135
|
-
\
|
139
|
+
\label{eq:maxwell}
|
140
|
+
\left.\begin{aligned}
|
141
|
+
\nabla\cdot\mathbf{E} & = \rho \\
|
142
|
+
\nabla\cdot\mathbf{B} & = 0 \\
|
143
|
+
\nabla\times\mathbf{E} & = -\dot{\mathbf{B}} \\
|
144
|
+
\nabla\times\mathbf{B} & = \mathbf{J} + \dot{\mathbf{E}}
|
145
|
+
\end{aligned}
|
146
|
+
\right\}
|
147
|
+
\quad\text{Maxwell equations}
|
136
148
|
\end{equation}
|
137
149
|
|
138
150
|
bar
|
@@ -169,6 +181,20 @@ def foo; "bar"; end
|
|
169
181
|
end
|
170
182
|
it { should resemble '%= <<(/path/to/code)' }
|
171
183
|
end
|
184
|
+
|
185
|
+
context "codelisting followed by a section" do
|
186
|
+
let(:source) do <<-'EOS'
|
187
|
+
\begin{codelisting}
|
188
|
+
\codecaption{Lorem ipsum.}
|
189
|
+
\label{code:lorem}
|
190
|
+
<<(/path/to/code)
|
191
|
+
\end{codelisting}
|
192
|
+
|
193
|
+
# Foo
|
194
|
+
EOS
|
195
|
+
end
|
196
|
+
it { should resemble '\chapter{Foo}' }
|
197
|
+
end
|
172
198
|
end
|
173
199
|
|
174
200
|
describe "source code" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polytexnic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Hartl
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -165,6 +165,8 @@ files:
|
|
165
165
|
- .pull_requests/1383274008
|
166
166
|
- .pull_requests/1383327328
|
167
167
|
- .pull_requests/1384446851
|
168
|
+
- .pull_requests/1384800466
|
169
|
+
- .pull_requests/1384811507
|
168
170
|
- .rspec
|
169
171
|
- .ruby-gemset
|
170
172
|
- .ruby-version
|