asciidoctor-latex 1.5.0.3.dev → 1.5.0.4.dev
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +28 -5
- data/README.adoc +48 -23
- data/Rakefile +2 -1
- data/data/asciidoc_tex_macros.tex +86 -3
- data/data/extras.css +73 -1
- data/data/preamble_article.tex +15 -6
- data/data/preamble_book.tex +25 -9
- data/examples/README.adoc +341 -9
- data/examples/README.html +915 -0
- data/examples/math_article.adoc +46 -46
- data/examples/xref-equations.adoc +1 -2
- data/lib/asciidoctor-latex/click.css +2 -0
- data/lib/asciidoctor-latex/click.js +6 -0
- data/lib/asciidoctor-latex/jquery.js +4 -0
- data/lib/asciidoctor-latex/preamble_processor.rb +18 -0
- data/lib/asciidoctor/latex/click_block.rb +7 -4
- data/lib/asciidoctor/latex/converter.rb +75 -29
- data/lib/asciidoctor/latex/core_ext/utility.rb +55 -0
- data/lib/asciidoctor/latex/css.rb +50 -0
- data/lib/asciidoctor/latex/environment_block.rb +13 -6
- data/lib/asciidoctor/latex/inject_html.rb +2 -1
- data/lib/asciidoctor/latex/node_processors.rb +329 -152
- data/lib/asciidoctor/latex/prepend_processor.rb +1 -0
- data/lib/asciidoctor/latex/tex_postprocessor.rb +8 -3
- data/lib/asciidoctor/latex/tex_preprocessor.rb +31 -9
- data/lib/asciidoctor/latex/version.rb +1 -1
- data/test/examples/adoc/ampersand.adoc +2 -0
- data/test/examples/adoc/block_olist.adoc +58 -0
- data/test/examples/adoc/block_ulist.adoc +42 -0
- data/test/examples/adoc/box.adoc +35 -1
- data/test/examples/adoc/chem.adoc +8 -0
- data/test/examples/adoc/click_plain.adoc +24 -0
- data/test/examples/adoc/dlist.adoc +15 -0
- data/test/examples/adoc/env2.adoc +57 -0
- data/test/examples/adoc/env_joke.adoc +12 -0
- data/test/examples/adoc/env_plain.adoc +10 -0
- data/test/examples/adoc/eq-latex.adoc +39 -0
- data/test/examples/adoc/eq.adoc +18 -0
- data/test/examples/adoc/eq.tex +28 -0
- data/test/examples/adoc/eqalign.adoc +19 -6
- data/test/examples/adoc/eqalign.tex +25 -0
- data/test/examples/adoc/eqno-latex.adoc +120 -0
- data/test/examples/adoc/extras.adoc +14 -0
- data/test/examples/adoc/hypertarget.adoc +29 -0
- data/test/examples/adoc/image.adoc +7 -0
- data/test/examples/adoc/newEnvironments.tex +0 -0
- data/test/examples/adoc/table.adoc +6 -0
- data/test/examples/adoc/table.tex +10 -0
- data/test/examples/adoc/tex_pathologies.adoc +30 -0
- data/test/examples/html/env.html +147 -0
- data/test/examples/html/equations.html +14 -0
- data/test/examples/tex/ampersand.tex +2 -0
- data/test/examples/tex/block_admonition.tex +20 -0
- data/test/examples/tex/block_audio.tex +7 -0
- data/test/examples/tex/block_colist.tex +23 -0
- data/test/examples/tex/block_dlist.tex +117 -0
- data/test/examples/tex/block_example.tex +20 -0
- data/test/examples/tex/block_floating_title.tex +20 -0
- data/test/examples/tex/block_image.tex +46 -0
- data/test/examples/tex/block_listing.tex +59 -0
- data/test/examples/tex/block_literal.tex +28 -0
- data/test/examples/tex/block_olist.tex +119 -0
- data/test/examples/tex/block_open.tex +22 -0
- data/test/examples/tex/block_outline.tex +25 -0
- data/test/examples/tex/block_page_break.tex +4 -0
- data/test/examples/tex/block_paragraph.tex +13 -0
- data/test/examples/tex/block_pass.tex +3 -0
- data/test/examples/tex/block_preamble.tex +15 -0
- data/test/examples/tex/block_quote.tex +51 -0
- data/test/examples/tex/block_sidebar.tex +21 -0
- data/test/examples/tex/block_stem.tex +19 -0
- data/test/examples/tex/block_table.tex +188 -0
- data/test/examples/tex/block_thematic_break.tex +1 -0
- data/test/examples/tex/block_toc.tex +27 -0
- data/test/examples/tex/block_ulist.tex +96 -0
- data/test/examples/tex/block_verse.tex +39 -0
- data/test/examples/tex/block_video.tex +15 -0
- data/test/examples/tex/box.tex +25 -0
- data/test/examples/tex/chem.tex +7 -0
- data/test/examples/tex/click_plain.tex +25 -0
- data/test/examples/tex/dlist.tex +17 -0
- data/test/examples/tex/document.tex +25 -0
- data/test/examples/tex/embedded.tex +7 -0
- data/test/examples/tex/env.tex +7 -7
- data/test/examples/tex/env2.tex +29 -0
- data/test/examples/tex/env_joke.tex +9 -0
- data/test/examples/tex/env_plain.tex +7 -0
- data/test/examples/tex/eq-latex.tex +49 -0
- data/test/examples/tex/eq.tex +9 -0
- data/test/examples/tex/eqalign.tex +23 -0
- data/test/examples/tex/eqno-latex.tex +237 -0
- data/test/examples/tex/exponent1.tex +2 -0
- data/test/examples/tex/exponent2.tex +4 -0
- data/test/examples/tex/extras.tex +13 -0
- data/test/examples/tex/hypertarget.tex +25 -0
- data/test/examples/tex/image.tex +4 -0
- data/test/examples/tex/inline_anchor.tex +25 -0
- data/test/examples/tex/inline_break.tex +7 -0
- data/test/examples/tex/inline_button.tex +1 -0
- data/test/examples/tex/inline_callout.tex +4 -0
- data/test/examples/tex/inline_footnote.tex +9 -0
- data/test/examples/tex/inline_image.tex +25 -0
- data/test/examples/tex/inline_kbd.tex +3 -0
- data/test/examples/tex/inline_menu.tex +5 -0
- data/test/examples/tex/inline_quoted.tex +63 -0
- data/test/examples/tex/line_break.tex +4 -0
- data/test/examples/tex/listing.tex +10 -0
- data/test/examples/tex/literal.tex +42 -0
- data/test/examples/tex/macro_underscore.tex +6 -0
- data/test/examples/tex/math.tex +8 -0
- data/test/examples/tex/open_block.tex +10 -0
- data/test/examples/tex/page_break.tex +4 -0
- data/test/examples/tex/pass.tex +3 -0
- data/test/examples/tex/section.tex +51 -0
- data/test/examples/tex/sections.tex +13 -0
- data/test/examples/tex/table.tex +10 -0
- data/test/examples/tex/tex_pathologies.tex +26 -0
- data/test/examples/tex/zero.tex +1 -1
- metadata +188 -26
- data/examples/box.adoc +0 -16
- data/examples/chem.adoc +0 -17
- data/examples/eq-alignment.adoc +0 -5
- data/examples/eq-block.adoc +0 -60
- data/test/examples/adoc/admonition.adoc +0 -11
- data/test_jc/admonition.adoc +0 -4
- data/test_jc/click.adoc +0 -7
- data/test_jc/env.adoc +0 -31
- data/test_jc/example.adoc +0 -17
- data/test_jc/floating_title.adoc +0 -15
- data/test_jc/image.adoc +0 -84
- data/test_jc/images/frog.jpg +0 -0
- data/test_jc/images/red_frog.jpeg +0 -0
- data/test_jc/images/yellow_frog.jpeg +0 -0
- data/test_jc/listing.adoc +0 -9
- data/test_jc/lists.adoc +0 -20
- data/test_jc/math.adoc +0 -10
- data/test_jc/preamble.adoc +0 -14
- data/test_jc/section-numbered.adoc +0 -9
- data/test_jc/section.adoc +0 -7
- data/test_jc/sidebar.adoc +0 -61
- data/test_jc/verse.adoc +0 -15
@@ -21,7 +21,9 @@ module Asciidoctor::LaTeX
|
|
21
21
|
class TexPostprocessor < Asciidoctor::Extensions::Postprocessor
|
22
22
|
|
23
23
|
def process document, output
|
24
|
-
output = output.gsub('
|
24
|
+
output = output.gsub('ESCAMPERSAND', '\\&')
|
25
|
+
output = output.gsub('ESCUNDERSCORE', '\\_')
|
26
|
+
output = output.gsub('ESCDOLLAR', '\\$')
|
25
27
|
output = output.gsub('CHEMRIGHTARROW','->').gsub('CHEMLEFTARROW','<-').gsub('CHEMLEFTRIGHTARROW','<-->')
|
26
28
|
output = output.gsub('\\(','$').gsub('\\)','$')
|
27
29
|
output.gsub('!!!BACKSLASH', '\\')
|
@@ -32,13 +34,16 @@ module Asciidoctor::LaTeX
|
|
32
34
|
class HTMLPostprocessor < Asciidoctor::Extensions::Postprocessor
|
33
35
|
|
34
36
|
def process document, output
|
37
|
+
output = output.gsub('ESCAMPERSAND', '&')
|
38
|
+
output = output.gsub('ESCUNDERSCORE', '_')
|
39
|
+
output = output.gsub('ESCDOLLAR', '$')
|
35
40
|
output = output.gsub('\DOLLOD', '\$')
|
36
41
|
# match_data = output.match /%%(.*)%%/
|
37
42
|
# if match_data
|
38
43
|
# output = output.gsub(match_data[0], match_data[1])
|
39
44
|
# end
|
40
|
-
output = output.gsub('
|
41
|
-
output.gsub('
|
45
|
+
output = output.gsub('!!!BACKSLASH', '\\')
|
46
|
+
# output.gsub('%', '\%') This messes up the html bigtimw
|
42
47
|
end
|
43
48
|
|
44
49
|
end
|
@@ -23,8 +23,7 @@ module Asciidoctor::LaTeX
|
|
23
23
|
# TEX_DOLLAR_SUB = '\1\\\(\2\\\)\3'
|
24
24
|
|
25
25
|
TEX_DOLLAR_RX = /\$(.*?)\$/
|
26
|
-
TEX_DOLLAR_SUB = '\\\(\1\\\)'
|
27
|
-
TEX_DOLLAR_SUB2 = '+\\\(\1\\\)+'
|
26
|
+
TEX_DOLLAR_SUB = 'pass:[\\\(\1\\\)]'
|
28
27
|
|
29
28
|
|
30
29
|
def process document, reader
|
@@ -40,22 +39,45 @@ module Asciidoctor::LaTeX
|
|
40
39
|
if line.include? '<-' and document.basebackend? 'tex'
|
41
40
|
line = line.gsub('<-', 'CHEMLEFTARROW')
|
42
41
|
end
|
43
|
-
|
44
|
-
|
42
|
+
|
43
|
+
# SPECIAL CHARACTER SUBSTITUTIONS
|
44
|
+
if line.include? '\\&' and document.basebackend? 'html'
|
45
|
+
line = line.gsub '\\&', 'ESCAMPERSAND'
|
46
|
+
end
|
47
|
+
if line.include? '\\_' and document.basebackend? 'html'
|
48
|
+
line = line.gsub '\\_', 'ESCUNDERSCORE'
|
45
49
|
end
|
46
|
-
if line.include? '
|
47
|
-
line = line.gsub '
|
50
|
+
if line.include? '\\' and document.basebackend? 'html'
|
51
|
+
line = line.gsub '\\$', 'ESCDOLLAR'
|
48
52
|
end
|
53
|
+
# It is important the previous transformation
|
54
|
+
# come before the next one
|
49
55
|
if line.include? '$'
|
50
|
-
line = line.gsub TEX_DOLLAR_RX,
|
56
|
+
line = line.gsub TEX_DOLLAR_RX, TEX_DOLLAR_SUB
|
51
57
|
end
|
58
|
+
|
52
59
|
# protect math, e.g., (a^2)^3 from Asciidoc subsitutions:
|
53
60
|
if line =~ /^\\\[/
|
54
|
-
line = line.gsub
|
61
|
+
line = line.gsub '\\[', "+++\n\\["
|
62
|
+
# line = line.gsub /^\\\[/, '+\\]'
|
63
|
+
# line = line.gsub '\\[', '\\['
|
55
64
|
end
|
56
65
|
if line =~ /^\\\]/
|
57
|
-
line = line.gsub
|
66
|
+
line = line.gsub '\\]', "\\]\n+++\n"
|
67
|
+
# line = line.gsub /'^\\\]/, '\\]+'
|
68
|
+
# line = line.gsub '\\]', '\\]+'
|
58
69
|
end
|
70
|
+
# if line =~ /\[env\..*?\]/
|
71
|
+
# m = line.match /(\[env\..*?)\]/
|
72
|
+
# line = line.gsub m[1], m[1]+',subs=none'
|
73
|
+
# end
|
74
|
+
# if line =~ /\&/
|
75
|
+
# line = line.gsub('&', '\\\&')
|
76
|
+
# end
|
77
|
+
# We do need to make this substitution, but ONLY ouutside
|
78
|
+
# of mathematical text.
|
79
|
+
# Please $FIXME!
|
80
|
+
#
|
59
81
|
# We would like to ensure that underscores in names,
|
60
82
|
# e.g., MACRO_NAME, do not cause LaTeX bugs. However,
|
61
83
|
# the code below introduces a more serious bug: expressons
|
@@ -0,0 +1,58 @@
|
|
1
|
+
|
2
|
+
// This file has been modified to remove
|
3
|
+
// nesting to level five, which LaTeX
|
4
|
+
// cannot handle
|
5
|
+
|
6
|
+
// .basic
|
7
|
+
. Step 1
|
8
|
+
. Step 2
|
9
|
+
. Step 3
|
10
|
+
|
11
|
+
// .with_start
|
12
|
+
[start=6]
|
13
|
+
. Step 1
|
14
|
+
. Step 2
|
15
|
+
. Step 3
|
16
|
+
|
17
|
+
// .with_numeration_styles
|
18
|
+
[decimal]
|
19
|
+
. level 1
|
20
|
+
[upperalpha]
|
21
|
+
.. level 2
|
22
|
+
[loweralpha]
|
23
|
+
... level 3
|
24
|
+
[lowerroman]
|
25
|
+
.... level 4
|
26
|
+
|
27
|
+
|
28
|
+
// .with_title
|
29
|
+
.Steps
|
30
|
+
. Step 1
|
31
|
+
. Step 2
|
32
|
+
. Step 3
|
33
|
+
|
34
|
+
// .with_id_and_role
|
35
|
+
[#steps.green]
|
36
|
+
. Step 1
|
37
|
+
. Step 2
|
38
|
+
. Step 3
|
39
|
+
|
40
|
+
// .max_nesting
|
41
|
+
. level 1
|
42
|
+
.. level 2
|
43
|
+
... level 3
|
44
|
+
.... level 4
|
45
|
+
.. level 2
|
46
|
+
|
47
|
+
// .complex_content
|
48
|
+
. Every list item has at least one paragraph of content,
|
49
|
+
which may be wrapped, even using a hanging indent.
|
50
|
+
+
|
51
|
+
Additional paragraphs or blocks are adjoined by putting
|
52
|
+
a list continuation on a line adjacent to both blocks.
|
53
|
+
+
|
54
|
+
list continuation:: a plus sign (`{plus}`) on a line by itself
|
55
|
+
|
56
|
+
. A literal paragraph does not require a list continuation.
|
57
|
+
|
58
|
+
$ gem install asciidoctor
|
@@ -0,0 +1,42 @@
|
|
1
|
+
// .basic
|
2
|
+
* Edgar Allen Poe
|
3
|
+
* Sheri S. Tepper
|
4
|
+
* Bill Bryson
|
5
|
+
|
6
|
+
// .with_title
|
7
|
+
.Writers
|
8
|
+
* Edgar Allen Poe
|
9
|
+
* Sheri S. Tepper
|
10
|
+
* Bill Bryson
|
11
|
+
|
12
|
+
// .with_id_and_role
|
13
|
+
[#authors.green]
|
14
|
+
* Edgar Allen Poe
|
15
|
+
* Sheri S. Tepper
|
16
|
+
* Bill Bryson
|
17
|
+
|
18
|
+
// .max_nesting
|
19
|
+
* level 1
|
20
|
+
** level 2
|
21
|
+
*** level 3
|
22
|
+
**** level 4
|
23
|
+
** level 2
|
24
|
+
|
25
|
+
// .complex_content
|
26
|
+
* Every list item has at least one paragraph of content,
|
27
|
+
which may be wrapped, even using a hanging indent.
|
28
|
+
+
|
29
|
+
Additional paragraphs or blocks are adjoined by putting
|
30
|
+
a list continuation on a line adjacent to both blocks.
|
31
|
+
+
|
32
|
+
list continuation:: a plus sign (`{plus}`) on a line by itself
|
33
|
+
|
34
|
+
* A literal paragraph does not require a list continuation.
|
35
|
+
|
36
|
+
$ gem install asciidoctor
|
37
|
+
|
38
|
+
// .checklist
|
39
|
+
- [*] checked
|
40
|
+
- [x] also checked
|
41
|
+
- [ ] not checked
|
42
|
+
- normal list item
|
data/test/examples/adoc/box.adoc
CHANGED
@@ -1,8 +1,42 @@
|
|
1
|
-
//.box
|
2
1
|
|
2
|
+
This is a common problem and it is the first thing I check when
|
3
|
+
I’m having a javascript problem (I actually do step 1 and 2 with
|
4
|
+
my style.css as well). After checking that the file path is correct,
|
5
|
+
I double check by viewing the page source using Firefox, I then click
|
6
|
+
on the .js link. If it opens up the jQuery file (Double check it
|
7
|
+
is opening the correct file) then the destination is correct.
|
8
|
+
If it does not, or it opens a page-not-found, then I know I
|
9
|
+
have a problem with my file path.
|
10
|
+
|
11
|
+
[env.box]
|
12
|
+
--
|
13
|
+
Buurem lok medes, nor. Paat for deng zu locnoop.
|
14
|
+
Vor daal grustem balimor tuul, man vep, dar slek.
|
15
|
+
Morem labdis zoruk opmaak del!
|
16
|
+
--
|
17
|
+
|
18
|
+
This is a common problem and it is the first thing I check when
|
19
|
+
I’m having a javascript problem (I actually do step 1 and 2 with
|
20
|
+
my style.css as well). After checking that the file path is correct,
|
21
|
+
I double check by viewing the page source using Firefox, I then click
|
22
|
+
on the .js link. If it opens up the jQuery file (Double check it
|
23
|
+
is opening the correct file) then the destination is correct.
|
24
|
+
If it does not, or it opens a page-not-found, then I know I
|
25
|
+
have a problem with my file path.
|
26
|
+
|
27
|
+
.Zaar yek la!
|
3
28
|
[env.box]
|
4
29
|
--
|
5
30
|
Buurem lok medes, nor. Paat for deng zu locnoop.
|
6
31
|
Vor daal grustem balimor tuul, man vep, dar slek.
|
7
32
|
Morem labdis zoruk opmaak del!
|
8
33
|
--
|
34
|
+
|
35
|
+
This is a common problem and it is the first thing I check when
|
36
|
+
I’m having a javascript problem (I actually do step 1 and 2 with
|
37
|
+
my style.css as well). After checking that the file path is correct,
|
38
|
+
I double check by viewing the page source using Firefox, I then click
|
39
|
+
on the .js link. If it opens up the jQuery file (Double check it
|
40
|
+
is opening the correct file) then the destination is correct.
|
41
|
+
If it does not, or it opens a page-not-found, then I know I
|
42
|
+
have a problem with my file path.
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
//.click-normal
|
4
|
+
[click.remark]
|
5
|
+
--
|
6
|
+
This is a normal remark.
|
7
|
+
--
|
8
|
+
|
9
|
+
//.click-plain
|
10
|
+
[click.remark%plain]
|
11
|
+
--
|
12
|
+
This is a plain remark.
|
13
|
+
--
|
14
|
+
|
15
|
+
//.numbered
|
16
|
+
[click.remark%numbered]
|
17
|
+
--
|
18
|
+
This is a numbered remark.
|
19
|
+
--
|
20
|
+
|
21
|
+
[click.remark%numbered]
|
22
|
+
--
|
23
|
+
So is this.
|
24
|
+
--
|
@@ -0,0 +1,15 @@
|
|
1
|
+
//.dlist
|
2
|
+
Foo:: A lambda expession of the first kind
|
3
|
+
Bar:: A lambda expressi of the second kind. A lambda expressi of the second kind.
|
4
|
+
A lambda expressi of the second kind.
|
5
|
+
A lambda expressi of the second kind.
|
6
|
+
A lambda expressi of the second kind.
|
7
|
+
A lambda expressi of the second kind.
|
8
|
+
A lambda expressi of the second kind.
|
9
|
+
A lambda expressi of the second kind.
|
10
|
+
Baababababbababa:: A very long word. A very long word.
|
11
|
+
A very long word. A very long word.
|
12
|
+
A very long word. A very long word.
|
13
|
+
A very long word. A very long word.
|
14
|
+
A very long word. A very long word.
|
15
|
+
X:: A short word.
|
@@ -0,0 +1,57 @@
|
|
1
|
+
//. env block
|
2
|
+
|
3
|
+
|
4
|
+
[env.definition]
|
5
|
+
--
|
6
|
+
A line is the path of shortest length between two points.
|
7
|
+
--
|
8
|
+
|
9
|
+
//. env block, cross ref
|
10
|
+
|
11
|
+
[env.definition#def-point]
|
12
|
+
--
|
13
|
+
A point is that which has no breadth.
|
14
|
+
--
|
15
|
+
|
16
|
+
|
17
|
+
//.env
|
18
|
+
[env.joke]
|
19
|
+
--
|
20
|
+
An engineer, a mathematician, and a philosopher met
|
21
|
+
at a bar for a drink. After a few beers, talk
|
22
|
+
turned to the question of how best to understand
|
23
|
+
the world ... (to be continued)
|
24
|
+
--
|
25
|
+
|
26
|
+
//.auto-numbered
|
27
|
+
[env.objection]
|
28
|
+
--
|
29
|
+
Your honor, my client could not have committed the
|
30
|
+
crime of which he is accused because he was
|
31
|
+
confined to the state penitentary at the time
|
32
|
+
that it occurred. If it please the court, ...
|
33
|
+
--
|
34
|
+
|
35
|
+
//. env with title
|
36
|
+
.Inadmissible testimony
|
37
|
+
[env.objection]
|
38
|
+
--
|
39
|
+
Your honor, that testimony cannot be
|
40
|
+
heard in this courtroom because it
|
41
|
+
was obtained under duress and without
|
42
|
+
informing my client of his rights.
|
43
|
+
--
|
44
|
+
|
45
|
+
//. with no option
|
46
|
+
.Improper procedure
|
47
|
+
[env.objection%no-number]
|
48
|
+
--
|
49
|
+
Your honor, the physical evidence
|
50
|
+
was not secured and was handled sloppily.
|
51
|
+
We cannot be sure tha the items which
|
52
|
+
the prosecution wishes to present here
|
53
|
+
have any association with my client
|
54
|
+
whatsoever.
|
55
|
+
--
|
56
|
+
|
57
|
+
.Cross referneces
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
== Some Equations
|
4
|
+
|
5
|
+
|
6
|
+
=== Number Theory
|
7
|
+
|
8
|
+
The equation
|
9
|
+
$a^2 + b^2 = c^2$ has infinitely many
|
10
|
+
non-proportional integer solutions.
|
11
|
+
The integer solutions of the equation
|
12
|
+
\[
|
13
|
+
a^3 + b^3 = c^3
|
14
|
+
\]
|
15
|
+
are trivial: at least one entry is
|
16
|
+
zero and the others are "obvious"
|
17
|
+
|
18
|
+
=== Calculus
|
19
|
+
|
20
|
+
A definite integral:
|
21
|
+
\[
|
22
|
+
\int_0^1 x^n dx = \frac{1}{n}
|
23
|
+
\]
|
24
|
+
|
25
|
+
The fundamental theorem of calculus:
|
26
|
+
\[
|
27
|
+
\frac{d}{dx} \int_a^x f(t) dt = f(x)
|
28
|
+
\]
|
29
|
+
|
30
|
+
=== Linear algebra
|
31
|
+
|
32
|
+
A matrix:
|
33
|
+
\[
|
34
|
+
M = \left[
|
35
|
+
\begin{array}{ c c }
|
36
|
+
1 & 2 \\
|
37
|
+
3 & 4
|
38
|
+
\end{array} \right]
|
39
|
+
\]
|
data/test/examples/adoc/eq.adoc
CHANGED
@@ -4,9 +4,27 @@ The Pythagorean theorem, $a^2 + b^2 = c^2$,
|
|
4
4
|
relates the hypotenuse to the altitude
|
5
5
|
and base of a right triangle.
|
6
6
|
|
7
|
+
|
8
|
+
|
7
9
|
Euler's formula states that
|
8
10
|
\[
|
9
11
|
e^{2\pi \sqrt{-1}} = 1
|
10
12
|
\]
|
11
13
|
|
12
14
|
Ain't that great!
|
15
|
+
|
16
|
+
[env.equation]
|
17
|
+
--
|
18
|
+
\sum_{k=1}^\infty \frac{1}{n}
|
19
|
+
--
|
20
|
+
|
21
|
+
[env.equation#hoho]
|
22
|
+
--
|
23
|
+
\sum_{k=1}^\infty \frac{1}{n^2}
|
24
|
+
--
|
25
|
+
|
26
|
+
|
27
|
+
[env.equation%numbered]
|
28
|
+
--
|
29
|
+
\sum_{k=1}^\infty \frac{1}{n^3}
|
30
|
+
--
|