polytexnic 1.10.3 → 1.10.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da8b7f3f92a5c8273442057b775fe5fb9254b8cea720e116d412fb69a88d2cab
4
- data.tar.gz: a4a31b444ae75f2b556a3d306f965c386c2e5aa04c08e57d46d5225e3e311e9e
3
+ metadata.gz: becee0a264fd8f1c6e60c6eb2fe347b369379d1ff65fe3d750f6cb8cc1fe41af
4
+ data.tar.gz: cdbd9839380bbffc7bcc4575402448eaf0af0ad079cddf068f20f4698492d073
5
5
  SHA512:
6
- metadata.gz: 7296046560b0eee4a54c02c2f2c06a797dbe244a6a5a2b93ed1997529e88ad605c6589c645427ca22de026e356f6d128737a4478447cdefe3c16634ded71e0a7
7
- data.tar.gz: 3ca36eebc4379605f6fb3579dd8d6c0c10a4d5f37a65610ae3541b3d565f700c63c56e3f758ae8ef68fadcd1f1b35d2c1168c27bf6984b7ce55d87e6ad78a5e2
6
+ metadata.gz: c298160d71a2777aeab70cd791e7fdbcab57ce3315c4fa5510b9d74c29cbe4382a4a9b5f0eadf2b93d189e82c70d12cd5e16a2214bbcf4b04f02e3698e5e38e5
7
+ data.tar.gz: 6571de55107bcb9905287a9a0bd6b027ae3cd3c9346ff122a8767489c13ae557699c25ed9b9830f90af2a5a4dd8e369e8eadcb0b5ed094226cb7623fbe01c511
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- polytexnic (1.10.3)
4
+ polytexnic (1.10.4)
5
5
  json (= 2.3.1)
6
6
  kramdown (= 2.4.0)
7
7
  msgpack (= 1.2.10)
@@ -60,7 +60,7 @@ GEM
60
60
  coderay (~> 1.1)
61
61
  method_source (~> 1.0)
62
62
  pygments.rb (2.3.1)
63
- racc (1.7.1)
63
+ racc (1.7.3)
64
64
  rake (13.0.6)
65
65
  rb-fsevent (0.11.2)
66
66
  rb-inotify (0.10.1)
@@ -221,11 +221,19 @@ module Polytexnic
221
221
  listing = language_labels["listing"]
222
222
  equation = language_labels["equation"]
223
223
  eq = language_labels["eq"]
224
- linked_item = "(#{part}|#{chapter}|#{section}|#{appendix}|#{table}|#{box}|#{figure}" +
225
- "|#{fig}\.|#{listing}|#{equation}|#{eq}\.)"
224
+ @supported_theorem_types.each do |theorem|
225
+ eval("#{theorem} = language_labels['#{theorem}']")
226
+ end
227
+ theorem_string = @supported_theorem_types.map(&:capitalize).join("|")
228
+ linked_item = "(#{part}|#{chapter}|#{section}|#{appendix}|#{table}" +
229
+ "|#{box}|#{figure}|#{fig}\.|#{listing}|#{equation}" +
230
+ "|#{eq}\.|#{theorem_string})"
226
231
  ref = /(?:#{linked_item}(~| ))*(\\(?:eq)*ref){(.*?)}/i
227
232
  string.gsub!(ref) do
228
- "\\hyperref[#{$4}]{#{$1}#{$2}#{$3}{#{$4}}}"
233
+ # The outermost braces handle the edge case of a ref inside
234
+ # square-backet args, as in `\proof[Theorem~\ref{th:foo}]`.
235
+ # See https://tex.stackexchange.com/questions/513460/how-to-add-a-hyperref-inside-theorem-title-or-proof-name
236
+ "{\\hyperref[#{$4}]{#{$1}#{$2}#{$3}{#{$4}}}}"
229
237
  end
230
238
  end
231
239
 
@@ -307,4 +315,3 @@ class String
307
315
  end.join('|')
308
316
  end
309
317
  end
310
-
@@ -1,3 +1,3 @@
1
1
  module Polytexnic
2
- VERSION = "1.10.3"
2
+ VERSION = "1.10.4"
3
3
  end
@@ -95,9 +95,9 @@ describe 'Polytexnic::Pipeline#to_html' do
95
95
  it { should include("Remark</span> 1.5") }
96
96
  it { should include("Theorem</span> 2.1") }
97
97
  it { should include("Lemma</span> 2.2") }
98
- it { should include('Theorem <a href="#th-lorem" class="hyperref"><span class="ref">1.1</span></a>')}
99
- it { should include('Theorem <a href="#th-another" class="hyperref"><span class="ref">2.1</span></a>')}
100
- it { should include('Lemma <a href="#lemma-yet_another" class="hyperref"><span class="ref">2.2</span></a>')}
98
+ it { should include('<a href="#th-lorem" class="hyperref">Theorem <span class="ref">1.1</span></a>')}
99
+ it { should include('<a href="#th-another" class="hyperref">Theorem <span class="ref">2.1</span></a>')}
100
+ it { should include('<a href="#lemma-yet_another" class="hyperref">Lemma <span class="ref">2.2</span></a>')}
101
101
  end
102
102
 
103
103
  describe "articles theorems" do
@@ -164,9 +164,9 @@ describe 'Polytexnic::Pipeline#to_html' do
164
164
  it { should include("Remark</span> 5") }
165
165
  it { should include("Theorem</span> 6") }
166
166
  it { should include("Lemma</span> 7") }
167
- it { should include('Theorem <a href="#th-lorem" class="hyperref"><span class="ref">1</span></a>')}
168
- it { should include('Theorem <a href="#th-another" class="hyperref"><span class="ref">6</span></a>')}
169
- it { should include('Lemma <a href="#lemma-yet_another" class="hyperref"><span class="ref">7</span></a>')}
167
+ it { should include('<a href="#th-lorem" class="hyperref">Theorem <span class="ref">1</span></a>')}
168
+ it { should include('<a href="#th-another" class="hyperref">Theorem <span class="ref">6</span></a>')}
169
+ it { should include('<a href="#lemma-yet_another" class="hyperref">Lemma <span class="ref">7</span></a>')}
170
170
  end
171
171
 
172
172
  describe "optional argument" 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: 1.10.3
4
+ version: 1.10.4
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: 2023-10-05 00:00:00.000000000 Z
12
+ date: 2023-12-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri