polytexnic 0.6.4 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|