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.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +28 -5
  3. data/README.adoc +48 -23
  4. data/Rakefile +2 -1
  5. data/data/asciidoc_tex_macros.tex +86 -3
  6. data/data/extras.css +73 -1
  7. data/data/preamble_article.tex +15 -6
  8. data/data/preamble_book.tex +25 -9
  9. data/examples/README.adoc +341 -9
  10. data/examples/README.html +915 -0
  11. data/examples/math_article.adoc +46 -46
  12. data/examples/xref-equations.adoc +1 -2
  13. data/lib/asciidoctor-latex/click.css +2 -0
  14. data/lib/asciidoctor-latex/click.js +6 -0
  15. data/lib/asciidoctor-latex/jquery.js +4 -0
  16. data/lib/asciidoctor-latex/preamble_processor.rb +18 -0
  17. data/lib/asciidoctor/latex/click_block.rb +7 -4
  18. data/lib/asciidoctor/latex/converter.rb +75 -29
  19. data/lib/asciidoctor/latex/core_ext/utility.rb +55 -0
  20. data/lib/asciidoctor/latex/css.rb +50 -0
  21. data/lib/asciidoctor/latex/environment_block.rb +13 -6
  22. data/lib/asciidoctor/latex/inject_html.rb +2 -1
  23. data/lib/asciidoctor/latex/node_processors.rb +329 -152
  24. data/lib/asciidoctor/latex/prepend_processor.rb +1 -0
  25. data/lib/asciidoctor/latex/tex_postprocessor.rb +8 -3
  26. data/lib/asciidoctor/latex/tex_preprocessor.rb +31 -9
  27. data/lib/asciidoctor/latex/version.rb +1 -1
  28. data/test/examples/adoc/ampersand.adoc +2 -0
  29. data/test/examples/adoc/block_olist.adoc +58 -0
  30. data/test/examples/adoc/block_ulist.adoc +42 -0
  31. data/test/examples/adoc/box.adoc +35 -1
  32. data/test/examples/adoc/chem.adoc +8 -0
  33. data/test/examples/adoc/click_plain.adoc +24 -0
  34. data/test/examples/adoc/dlist.adoc +15 -0
  35. data/test/examples/adoc/env2.adoc +57 -0
  36. data/test/examples/adoc/env_joke.adoc +12 -0
  37. data/test/examples/adoc/env_plain.adoc +10 -0
  38. data/test/examples/adoc/eq-latex.adoc +39 -0
  39. data/test/examples/adoc/eq.adoc +18 -0
  40. data/test/examples/adoc/eq.tex +28 -0
  41. data/test/examples/adoc/eqalign.adoc +19 -6
  42. data/test/examples/adoc/eqalign.tex +25 -0
  43. data/test/examples/adoc/eqno-latex.adoc +120 -0
  44. data/test/examples/adoc/extras.adoc +14 -0
  45. data/test/examples/adoc/hypertarget.adoc +29 -0
  46. data/test/examples/adoc/image.adoc +7 -0
  47. data/test/examples/adoc/newEnvironments.tex +0 -0
  48. data/test/examples/adoc/table.adoc +6 -0
  49. data/test/examples/adoc/table.tex +10 -0
  50. data/test/examples/adoc/tex_pathologies.adoc +30 -0
  51. data/test/examples/html/env.html +147 -0
  52. data/test/examples/html/equations.html +14 -0
  53. data/test/examples/tex/ampersand.tex +2 -0
  54. data/test/examples/tex/block_admonition.tex +20 -0
  55. data/test/examples/tex/block_audio.tex +7 -0
  56. data/test/examples/tex/block_colist.tex +23 -0
  57. data/test/examples/tex/block_dlist.tex +117 -0
  58. data/test/examples/tex/block_example.tex +20 -0
  59. data/test/examples/tex/block_floating_title.tex +20 -0
  60. data/test/examples/tex/block_image.tex +46 -0
  61. data/test/examples/tex/block_listing.tex +59 -0
  62. data/test/examples/tex/block_literal.tex +28 -0
  63. data/test/examples/tex/block_olist.tex +119 -0
  64. data/test/examples/tex/block_open.tex +22 -0
  65. data/test/examples/tex/block_outline.tex +25 -0
  66. data/test/examples/tex/block_page_break.tex +4 -0
  67. data/test/examples/tex/block_paragraph.tex +13 -0
  68. data/test/examples/tex/block_pass.tex +3 -0
  69. data/test/examples/tex/block_preamble.tex +15 -0
  70. data/test/examples/tex/block_quote.tex +51 -0
  71. data/test/examples/tex/block_sidebar.tex +21 -0
  72. data/test/examples/tex/block_stem.tex +19 -0
  73. data/test/examples/tex/block_table.tex +188 -0
  74. data/test/examples/tex/block_thematic_break.tex +1 -0
  75. data/test/examples/tex/block_toc.tex +27 -0
  76. data/test/examples/tex/block_ulist.tex +96 -0
  77. data/test/examples/tex/block_verse.tex +39 -0
  78. data/test/examples/tex/block_video.tex +15 -0
  79. data/test/examples/tex/box.tex +25 -0
  80. data/test/examples/tex/chem.tex +7 -0
  81. data/test/examples/tex/click_plain.tex +25 -0
  82. data/test/examples/tex/dlist.tex +17 -0
  83. data/test/examples/tex/document.tex +25 -0
  84. data/test/examples/tex/embedded.tex +7 -0
  85. data/test/examples/tex/env.tex +7 -7
  86. data/test/examples/tex/env2.tex +29 -0
  87. data/test/examples/tex/env_joke.tex +9 -0
  88. data/test/examples/tex/env_plain.tex +7 -0
  89. data/test/examples/tex/eq-latex.tex +49 -0
  90. data/test/examples/tex/eq.tex +9 -0
  91. data/test/examples/tex/eqalign.tex +23 -0
  92. data/test/examples/tex/eqno-latex.tex +237 -0
  93. data/test/examples/tex/exponent1.tex +2 -0
  94. data/test/examples/tex/exponent2.tex +4 -0
  95. data/test/examples/tex/extras.tex +13 -0
  96. data/test/examples/tex/hypertarget.tex +25 -0
  97. data/test/examples/tex/image.tex +4 -0
  98. data/test/examples/tex/inline_anchor.tex +25 -0
  99. data/test/examples/tex/inline_break.tex +7 -0
  100. data/test/examples/tex/inline_button.tex +1 -0
  101. data/test/examples/tex/inline_callout.tex +4 -0
  102. data/test/examples/tex/inline_footnote.tex +9 -0
  103. data/test/examples/tex/inline_image.tex +25 -0
  104. data/test/examples/tex/inline_kbd.tex +3 -0
  105. data/test/examples/tex/inline_menu.tex +5 -0
  106. data/test/examples/tex/inline_quoted.tex +63 -0
  107. data/test/examples/tex/line_break.tex +4 -0
  108. data/test/examples/tex/listing.tex +10 -0
  109. data/test/examples/tex/literal.tex +42 -0
  110. data/test/examples/tex/macro_underscore.tex +6 -0
  111. data/test/examples/tex/math.tex +8 -0
  112. data/test/examples/tex/open_block.tex +10 -0
  113. data/test/examples/tex/page_break.tex +4 -0
  114. data/test/examples/tex/pass.tex +3 -0
  115. data/test/examples/tex/section.tex +51 -0
  116. data/test/examples/tex/sections.tex +13 -0
  117. data/test/examples/tex/table.tex +10 -0
  118. data/test/examples/tex/tex_pathologies.tex +26 -0
  119. data/test/examples/tex/zero.tex +1 -1
  120. metadata +188 -26
  121. data/examples/box.adoc +0 -16
  122. data/examples/chem.adoc +0 -17
  123. data/examples/eq-alignment.adoc +0 -5
  124. data/examples/eq-block.adoc +0 -60
  125. data/test/examples/adoc/admonition.adoc +0 -11
  126. data/test_jc/admonition.adoc +0 -4
  127. data/test_jc/click.adoc +0 -7
  128. data/test_jc/env.adoc +0 -31
  129. data/test_jc/example.adoc +0 -17
  130. data/test_jc/floating_title.adoc +0 -15
  131. data/test_jc/image.adoc +0 -84
  132. data/test_jc/images/frog.jpg +0 -0
  133. data/test_jc/images/red_frog.jpeg +0 -0
  134. data/test_jc/images/yellow_frog.jpeg +0 -0
  135. data/test_jc/listing.adoc +0 -9
  136. data/test_jc/lists.adoc +0 -20
  137. data/test_jc/math.adoc +0 -10
  138. data/test_jc/preamble.adoc +0 -14
  139. data/test_jc/section-numbered.adoc +0 -9
  140. data/test_jc/section.adoc +0 -7
  141. data/test_jc/sidebar.adoc +0 -61
  142. data/test_jc/verse.adoc +0 -15
@@ -0,0 +1,14 @@
1
+ <!-- .equation1 -->
2
+ <div class="paragraph">
3
+ <p>\((a^2)^3 = a^6\)</p>
4
+ </div>
5
+
6
+ <!-- .equation2 -->
7
+ <div class="paragraph">
8
+ <p>\(a^2 + b^2 = c^2\)</p>
9
+ </div>
10
+
11
+ <!-- .display1 -->
12
+ <div class="paragraph">
13
+ <p>\[ e^{2\pi\sqrt{-1}} = 1 \]</p>
14
+ </div>
@@ -0,0 +1,2 @@
1
+ %== .ampersand ==%
2
+ Rhythm & Blues
@@ -0,0 +1,20 @@
1
+ %== .basic ==%
2
+ \admonition{WARNING}{Watch out for dragons!}
3
+
4
+ %== .basic_multiline ==%
5
+ \admonition{NOTE}{An admonition paragraph draws the reader’s attention to
6
+ auxiliary information.
7
+ Its purpose is determined by the label
8
+ at the beginning of the paragraph.}
9
+
10
+ %== .block ==%
11
+ \admonition{IMPORTANT}{While werewolves are hardy community members, keep in mind some dietary concerns.
12
+ }
13
+
14
+ %== .block_with_title ==%
15
+ \admonition{IMPORTANT}{While werewolves are hardy community members, keep in mind some dietary concerns.
16
+ }
17
+
18
+ %== .block_with_id_and_role ==%
19
+ \admonition{IMPORTANT}{While werewolves are hardy community members, keep in mind some dietary concerns.
20
+ }
@@ -0,0 +1,7 @@
1
+ %== .basic ==%
2
+
3
+ %== .with_all_options ==%
4
+
5
+ %== .with_title ==%
6
+
7
+ %== .with_id_and_role ==%
@@ -0,0 +1,23 @@
1
+ %== .basic ==%
2
+ \begin{verbatim}
3
+ require 'sinatra'
4
+ get '/hi' do
5
+ "Hello World!"
6
+ end
7
+ \end{verbatim}
8
+
9
+ %== .with_title ==%
10
+ \begin{verbatim}
11
+ require 'sinatra'
12
+ get '/hi' do
13
+ "Hello World!"
14
+ end
15
+ \end{verbatim}
16
+
17
+ %== .with_id_and_role ==%
18
+ \begin{verbatim}
19
+ require 'sinatra'
20
+ get '/hi' do
21
+ "Hello World!"
22
+ end
23
+ \end{verbatim}
@@ -0,0 +1,117 @@
1
+ %== .basic ==%
2
+ \begin{description}
3
+ \item[Asciidoctor]An implementation of the AsciiDoc processor in Ruby.
4
+ \item[Asciidoc]A text document format for writing notes, documentation, articles, books,
5
+ ebooks, slideshows, web pages, man pages and blogs.
6
+ \end{description}
7
+
8
+ %== .basic_block ==%
9
+ \begin{description}
10
+ \item[About]\begin{itemize}
11
+ \item An implementation of the AsciiDoc processor in Ruby.
12
+ \item Fast text processor and publishing toolchain.
13
+ \end{itemize}
14
+ \item[Authors]Asciidoctor is lead by Dan Allen and Sarah White and has received contributions
15
+ from many other individuals in Asciidoctor’s awesome community.
16
+ AsciiDoc was started by Stuart Rackham.
17
+ \end{description}
18
+
19
+ %== .basic_missing_description ==%
20
+ \begin{description}
21
+ \item[Definition without a description]\end{description}
22
+
23
+ %== .basic_with_title ==%
24
+ \begin{description}
25
+ \item[License]MIT
26
+ \end{description}
27
+
28
+ %== .basic_with_id_and_role ==%
29
+ \begin{description}
30
+ \item[License]MIT
31
+ \end{description}
32
+
33
+ %== .qanda ==%
34
+ \begin{description}
35
+ \item[What is Asciidoctor?]An implementation of the AsciiDoc processor in Ruby.
36
+ \item[What is the answer to the Ultimate Question?]42
37
+ \end{description}
38
+
39
+ %== .qanda_block ==%
40
+ \begin{description}
41
+ \item[What is Asciidoctor?]\begin{itemize}
42
+ \item An implementation of the AsciiDoc processor in Ruby.
43
+ \item Fast text processor and publishing toolchain.
44
+ \end{itemize}
45
+ \item[Who is behind Asciidoctor?]Asciidoctor is lead by Dan Allen and Sarah White and has received contributions
46
+ from many other individuals in Asciidoctor’s awesome community.
47
+ AsciiDoc was started by Stuart Rackham.
48
+ \end{description}
49
+
50
+ %== .qanda_missing_answer ==%
51
+ \begin{description}
52
+ \item[Who knows the answer?]\end{description}
53
+
54
+ %== .qanda_with_title ==%
55
+ \begin{description}
56
+ \item[What is the answer to the Ultimate Question?]42
57
+ \end{description}
58
+
59
+ %== .qanda_with_id_and_role ==%
60
+ \begin{description}
61
+ \item[What is the answer to the Ultimate Question?]42
62
+ \end{description}
63
+
64
+ %== .horizontal ==%
65
+ \begin{description}
66
+ \item[Hard drive]Permanent storage for operating system and/or user files.
67
+ \item[RAM]Temporarily stores information the CPU uses during operation.
68
+ \end{description}
69
+
70
+ %== .horizontal_with_dimensions ==%
71
+ \begin{description}
72
+ \item[Hard drive]Permanent storage for operating system and/or user files.
73
+ \item[RAM]Temporarily stores information the CPU uses during operation.
74
+ \end{description}
75
+
76
+ %== .horizontal_with_title ==%
77
+ \begin{description}
78
+ \item[Hard drive]Permanent storage for operating system and/or user files.
79
+ \item[RAM]Temporarily stores information the CPU uses during operation.
80
+ \end{description}
81
+
82
+ %== .horizontal_with_id_and_role ==%
83
+ \begin{description}
84
+ \item[Hard drive]Permanent storage for operating system and/or user files.
85
+ \item[RAM]Temporarily stores information the CPU uses during operation.
86
+ \end{description}
87
+
88
+ %== .mixed ==%
89
+ \begin{description}
90
+ \item[Operating Systems]\begin{description}
91
+ \item[Linux]\begin{enumerate}
92
+ \item{Fedora}
93
+ \begin{itemize}
94
+ \item Desktop
95
+ \end{itemize}
96
+ \item{Ubuntu}
97
+ \begin{itemize}
98
+ \item Desktop
99
+ \item Server
100
+ \end{itemize}
101
+ \end{enumerate}
102
+ \item[BSD]\begin{enumerate}
103
+ \item{FreeBSD}
104
+ \item{NetBSD}
105
+ \end{enumerate}
106
+ \end{description}
107
+ \item[Cloud Providers]\begin{description}
108
+ \item[PaaS]\begin{enumerate}
109
+ \item{OpenShift}
110
+ \item{CloudBees}
111
+ \end{enumerate}
112
+ \item[IaaS]\begin{enumerate}
113
+ \item{Amazon EC2}
114
+ \item{Rackspace}
115
+ \end{enumerate}
116
+ \end{description}
117
+ \end{description}
@@ -0,0 +1,20 @@
1
+ %== .basic ==%
2
+ \begin{example}
3
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
4
+ incididunt ut labore et dolore magna aliqua.
5
+ \end{example}
6
+
7
+ %== .with_title ==%
8
+ \begin{example}
9
+ -- {\bf Sample document}.
10
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
11
+ incididunt ut labore et dolore magna aliqua.
12
+ The document header is useful, but not required.
13
+ \end{example}
14
+
15
+ %== .with_id_and_role ==%
16
+ \begin{example}
17
+ \hypertarget{lorem}{Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor}
18
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
19
+ incididunt ut labore et dolore magna aliqua.
20
+ \end{example}
@@ -0,0 +1,20 @@
1
+ %== .level1 ==%
2
+ \section*{Discrete Title Level 1}
3
+
4
+ %== .level2 ==%
5
+ \subsection*{Discrete Title Level 2}
6
+
7
+ %== .level3 ==%
8
+ \subsubsection*{Discrete Title Level 3}
9
+
10
+ %== .level4 ==%
11
+ \paragraph*{Discrete Title Level 4}
12
+
13
+ %== .level5 ==%
14
+ \*{Discrete Title Level 5}
15
+
16
+ %== .with_custom_id ==%
17
+ \section*{Discrete Title Level 1}
18
+
19
+ %== .with_roles ==%
20
+ \subsection*{Discrete Title Level 2}
@@ -0,0 +1,46 @@
1
+ %== .basic ==%
2
+ \begin{figure}[h]{}
3
+ \centering\includegraphics[width=2.5truein]{sunset.jpg}
4
+ \end{figure}
5
+
6
+ %== .with_alt_text ==%
7
+ \begin{figure}[h]{}
8
+ \centering\includegraphics[width=2.5truein]{sunset.jpg}
9
+ \end{figure}
10
+
11
+ %== .with_align ==%
12
+ \begin{figure}[h]{}
13
+ \centering\includegraphics[width=2.5truein]{sunset.jpg}
14
+ \centering
15
+ \end{figure}
16
+
17
+ %== .with_float ==%
18
+ \begin{wrapfigure}{r}{2.5truein}
19
+ \centering\includegraphics[width=2.5truein]{sunset.jpg}
20
+ \end{wrapfigure}
21
+
22
+ %== .with_dimensions ==%
23
+ \begin{figure}[h]{}
24
+ \centering\includegraphics[width=3.0truein]{sunset.jpg}
25
+ \end{figure}
26
+
27
+ %== .with_link ==%
28
+ \begin{figure}[h]{}
29
+ \centering\includegraphics[width=2.5truein]{sunset.jpg}
30
+ \end{figure}
31
+
32
+ %== .with_title ==%
33
+ \begin{figure}[h]{}
34
+ \centering\includegraphics[width=2.5truein]{sunset.jpg}
35
+ \caption{A mountain sunset}
36
+ \end{figure}
37
+
38
+ %== .with_id ==%
39
+ \begin{figure}[h]{}
40
+ \centering\includegraphics[width=2.5truein]{sunset.jpg}
41
+ \end{figure}
42
+
43
+ %== .with_roles ==%
44
+ \begin{figure}[h]{}
45
+ \centering\includegraphics[width=2.5truein]{sunset.jpg}
46
+ \end{figure}
@@ -0,0 +1,59 @@
1
+ %== .basic ==%
2
+ \begin{verbatim}
3
+ echo -n "Please enter your name: "
4
+ read name
5
+ echo "Hello, $name!"
6
+ \end{verbatim}
7
+
8
+ %== .basic_with_title ==%
9
+ \begin{verbatim}
10
+ echo -n "Please enter your name: "
11
+ read name
12
+ echo "Hello, $name!"
13
+ \end{verbatim}
14
+
15
+ %== .basic_nowrap ==%
16
+ \begin{verbatim}
17
+ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
18
+ \end{verbatim}
19
+
20
+ %== .basic_with_id_and_role ==%
21
+ \begin{verbatim}
22
+ echo -n "Please enter your name: "
23
+ read name
24
+ echo "Hello, $name!"
25
+ \end{verbatim}
26
+
27
+ %== .source ==%
28
+ \begin{verbatim}
29
+ 5.times do
30
+ print "Odelay!"
31
+ end
32
+ \end{verbatim}
33
+
34
+ %== .source_with_title ==%
35
+ \begin{verbatim}
36
+ 5.times do
37
+ print "Odelay!"
38
+ end
39
+ \end{verbatim}
40
+
41
+ %== .source_with_language ==%
42
+ \begin{verbatim}
43
+ 5.times do
44
+ print "Odelay!"
45
+ end
46
+ \end{verbatim}
47
+
48
+ %== .source_nowrap ==%
49
+ \begin{verbatim}
50
+ public class ApplicationConfigurationProvider extends HttpConfigurationProvider {
51
+ public Configuration getConfiguration(ServletContext context) {
52
+ return ConfigurationBuilder.begin()
53
+ .addRule()
54
+ .when(Direction.isInbound().and(Path.matches("/{path}")))
55
+ .perform(Log.message(Level.INFO, "Client requested path: {path}"))
56
+ .where("path").matches(".*");
57
+ }
58
+ }
59
+ \end{verbatim}
@@ -0,0 +1,28 @@
1
+ %== .basic ==%
2
+ \begin{verbatim}
3
+ error: The requested operation returned error: 1954 Forbidden search for defensive operations manual
4
+ absolutely fatal: operation initiation lost in the dodecahedron of doom
5
+ would you like to die again? y/n
6
+ \end{verbatim}
7
+
8
+ %== .with_title ==%
9
+ {\bf Die again?}\vspace{-1\baselineskip}
10
+ \begin{verbatim}
11
+ error: The requested operation returned error: 1954 Forbidden search for defensive operations manual
12
+ absolutely fatal: operation initiation lost in the dodecahedron of doom
13
+ would you like to die again? y/n
14
+ \end{verbatim}
15
+
16
+ %== .with_id_and_role ==%
17
+ \begin{verbatim}
18
+ error: The requested operation returned error: 1954 Forbidden search for defensive operations manual
19
+ absolutely fatal: operation initiation lost in the dodecahedron of doom
20
+ would you like to die again? y/n
21
+ \end{verbatim}
22
+
23
+ %== .nowrap ==%
24
+ \begin{verbatim}
25
+ error: The requested operation returned error: 1954 Forbidden search for defensive operations manual
26
+ absolutely fatal: operation initiation lost in the dodecahedron of doom
27
+ would you like to die again? y/n
28
+ \end{verbatim}
@@ -0,0 +1,119 @@
1
+ \begin{enumerate}
2
+
3
+ \item{Step 1}
4
+
5
+ \item{Step 2}
6
+
7
+ \item{Step 3}
8
+
9
+ \end{enumerate}
10
+
11
+
12
+ \begin{enumerate}
13
+
14
+ \item{Step 1}
15
+
16
+ \item{Step 2}
17
+
18
+ \item{Step 3}
19
+
20
+ \end{enumerate}
21
+
22
+
23
+ \begin{enumerate}
24
+
25
+ \item{level 1}
26
+
27
+ \begin{enumerate}
28
+
29
+ \item{level 2}
30
+
31
+ \begin{enumerate}
32
+
33
+ \item{level 3}
34
+
35
+ \begin{enumerate}
36
+
37
+ \item{level 4}
38
+
39
+ \end{enumerate}
40
+
41
+ \end{enumerate}
42
+
43
+ \end{enumerate}
44
+
45
+ \end{enumerate}
46
+
47
+
48
+ \begin{enumerate}
49
+
50
+ \item{Step 1}
51
+
52
+ \item{Step 2}
53
+
54
+ \item{Step 3}
55
+
56
+ \end{enumerate}
57
+
58
+
59
+ \begin{enumerate}
60
+
61
+ \item{Step 1}
62
+
63
+ \item{Step 2}
64
+
65
+ \item{Step 3}
66
+
67
+ \end{enumerate}
68
+
69
+
70
+ \begin{enumerate}
71
+
72
+ \item{level 1}
73
+
74
+ \begin{enumerate}
75
+
76
+ \item{level 2}
77
+
78
+ \begin{enumerate}
79
+
80
+ \item{level 3}
81
+
82
+ \begin{enumerate}
83
+
84
+ \item{level 4}
85
+
86
+ \end{enumerate}
87
+
88
+ \end{enumerate}
89
+
90
+ \item{level 2}
91
+
92
+ \end{enumerate}
93
+
94
+ \end{enumerate}
95
+
96
+
97
+ \begin{enumerate}
98
+
99
+ \item{Every list item has at least one paragraph of content,
100
+ which may be wrapped, even using a hanging indent.}
101
+
102
+ Additional paragraphs or blocks are adjoined by putting
103
+ a list continuation on a line adjacent to both blocks.
104
+
105
+
106
+ \begin{description}
107
+
108
+ \item[list continuation]a plus sign ({\tt +}) on a line by itself
109
+
110
+ \end{description}
111
+
112
+ \item{A literal paragraph does not require a list continuation.}
113
+
114
+ \begin{verbatim}
115
+ $ gem install asciidoctor
116
+ \end{verbatim}
117
+ \end{enumerate}
118
+
119
+