asciidoctor-latex 1.5.0.dev
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.adoc +22 -0
- data/README.adoc +213 -0
- data/Rakefile +55 -0
- data/bin/asciidoctor-latex +22 -0
- data/data/asciidoc_tex_macros.tex +42 -0
- data/data/preamble_article.tex +45 -0
- data/data/preamble_book.tex +44 -0
- data/lib/asciidoctor-latex.rb +1 -0
- data/lib/asciidoctor/latex.rb +8 -0
- data/lib/asciidoctor/latex/chem.rb +24 -0
- data/lib/asciidoctor/latex/click_block.rb +121 -0
- data/lib/asciidoctor/latex/converter.rb +358 -0
- data/lib/asciidoctor/latex/core_ext/colored_string.rb +35 -0
- data/lib/asciidoctor/latex/dollar.rb +28 -0
- data/lib/asciidoctor/latex/ent_to_uni.rb +17 -0
- data/lib/asciidoctor/latex/environment_block.rb +190 -0
- data/lib/asciidoctor/latex/inject_html.rb +49 -0
- data/lib/asciidoctor/latex/inline_macros.rb +20 -0
- data/lib/asciidoctor/latex/macro_insert.rb +49 -0
- data/lib/asciidoctor/latex/node_processors.rb +695 -0
- data/lib/asciidoctor/latex/prepend_processor.rb +36 -0
- data/lib/asciidoctor/latex/preprocess.rb +37 -0
- data/lib/asciidoctor/latex/tex_block.rb +108 -0
- data/lib/asciidoctor/latex/tex_postprocessor.rb +44 -0
- data/lib/asciidoctor/latex/tex_preprocessor.rb +65 -0
- data/lib/asciidoctor/latex/version.rb +5 -0
- data/manual.adoc +285 -0
- data/rake/cacert.pem +3894 -0
- data/rake/jdk_helper.rb +105 -0
- data/rake/tar-licence +19 -0
- data/rake/tar.rb +38 -0
- data/rspec/README.adoc +45 -0
- data/rspec/a.rb +79 -0
- data/rspec/b.rb +111 -0
- data/rspec/c.rb +121 -0
- data/rspec/data/tex1 +65 -0
- data/rspec/data/tex2 +5 -0
- data/rspec/data/tex2.expect +5 -0
- data/rspec/transform.rb +36 -0
- data/spec/README.adoc +45 -0
- data/spec/a.rb +79 -0
- data/spec/b.rb +111 -0
- data/spec/c.rb +121 -0
- data/spec/data/foo +1 -0
- data/spec/data/lorem +1 -0
- data/spec/data/tex1 +65 -0
- data/spec/data/tex2 +5 -0
- data/spec/data/tex2.expect +5 -0
- data/spec/transform.rb +36 -0
- data/test/examples/adoc/env.adoc +16 -0
- data/test/examples/adoc/eq.adoc +12 -0
- data/test/examples/adoc/zero.adoc +3 -0
- data/test/examples/asciidoc-html/block_open.adoc +17 -0
- data/test/examples/tex/env.tex +132 -0
- data/test/examples/tex/eq.tex +132 -0
- data/test/examples/tex/zero.tex +121 -0
- data/test/html_test.rb +8 -0
- data/test/latex_test.rb +8 -0
- data/test/test_helper.rb +4 -0
- data/test_jc/admonition.adoc +4 -0
- data/test_jc/click.adoc +7 -0
- data/test_jc/env.adoc +31 -0
- data/test_jc/example.adoc +17 -0
- data/test_jc/floating_title.adoc +15 -0
- data/test_jc/image.adoc +84 -0
- 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 +9 -0
- data/test_jc/lists.adoc +20 -0
- data/test_jc/math.adoc +10 -0
- data/test_jc/preamble.adoc +14 -0
- data/test_jc/section-numbered.adoc +9 -0
- data/test_jc/section.adoc +7 -0
- data/test_jc/sidebar.adoc +61 -0
- data/test_jc/verse.adoc +15 -0
- data/try-out/README.adoc +348 -0
- data/try-out/click.adoc +108 -0
- data/try-out/code.adoc +122 -0
- data/try-out/env.adoc +139 -0
- data/try-out/eq-latex.adoc +37 -0
- data/try-out/eq-stem.adoc +41 -0
- data/try-out/eqno-latex.adoc +120 -0
- data/try-out/math_article.adoc +138 -0
- data/try-out/pyth-stem.adoc +52 -0
- data/try-out/theorem-latex.adoc +50 -0
- data/try-out/xref-equations.adoc +28 -0
- metadata +210 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3e5580fadffd5a0ff5f968e8672225c1b387a434
|
4
|
+
data.tar.gz: 67f763319571a6cb2ee224bf79b5044d945e82fe
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f7aeb65738dea61724b8295e2f6fad7eebabd95b7daa0195a6faebee124194a37d44cf0fe50a7cb1498e7454d39b767728e8f0ac873ad4456c51730ff3ab138b
|
7
|
+
data.tar.gz: e47b504a4b7b0752656d675c632aef95e3f5247e00bed9785069c2102980427edbe9f6e5640fbf068de088dc9c601e9d49f1c6b1e8b5cf6cc21a594238057e36
|
data/LICENSE.adoc
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
.The MIT License
|
2
|
+
....
|
3
|
+
Copyright (C) 2014 James Carlson
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
22
|
+
....
|
data/README.adoc
ADDED
@@ -0,0 +1,213 @@
|
|
1
|
+
= AsciiDoc to LaTeX Converter for Asciidoctor
|
2
|
+
James Carlson
|
3
|
+
|
4
|
+
:numbered:
|
5
|
+
:toc2:
|
6
|
+
:stem:
|
7
|
+
|
8
|
+
== Purpose
|
9
|
+
|
10
|
+
The aim of the LaTeX converter is to transform an AsciiDoc document containing
|
11
|
+
mathematical notation into a LaTeX document.
|
12
|
+
The converter also adds to Asciidoctor's facilities for handling mathematical
|
13
|
+
notation when rendered as HTML. Among these are the automatic numbering of theorems
|
14
|
+
and equations.
|
15
|
+
Please see the file [path]_manual.adoc_ in this repository for additional details
|
16
|
+
and for technical information.
|
17
|
+
|
18
|
+
For examples and a quick start guide, see <<Getting started>>.
|
19
|
+
Below, we describe the <<Document format,document formats>> used
|
20
|
+
for mathematics and the <<Command for rendering,commands>> for rendering a document into HTML or LaTeX.
|
21
|
+
|
22
|
+
|
23
|
+
== Installation
|
24
|
+
|
25
|
+
=== Using Rubygems
|
26
|
+
|
27
|
+
_asciidoctor-latex has not been released yet_
|
28
|
+
|
29
|
+
=== From repository
|
30
|
+
|
31
|
+
If you would like to install a development version from the repository, use:
|
32
|
+
|
33
|
+
$ git clone https://github.com/asciidoctor/asciidoctor-latex.git
|
34
|
+
$ cd asciidoctor-latex
|
35
|
+
$ gem build asciidoctor-latex.gemspec
|
36
|
+
$ gem install *.gem
|
37
|
+
|
38
|
+
|
39
|
+
== Getting started
|
40
|
+
|
41
|
+
The directory `try-out` contains a set of examples which
|
42
|
+
show what Asciidoctor LateX can do. Consult the `README` file
|
43
|
+
for directions on how to render an examples as
|
44
|
+
HTML or LaTeX. By comparing the source and rendered files,
|
45
|
+
you will quickly see how to write Asciidoc LaTeX.
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
== Document format
|
50
|
+
|
51
|
+
Asciidoctor supports two closely-related math formats, [blue]#AsciiMath# and [blue]#LaTeX#.
|
52
|
+
For in-line mathematics, the first looks like `+++stem:[ a^2 + b^2 = c^2 ]+++`, while the
|
53
|
+
second looks like `$ a^2 + b^2 = c^2 $`. Both render as stem:[ a^2 + b^2 = c^2 ].
|
54
|
+
For displayed text, one can use
|
55
|
+
----
|
56
|
+
[stem]
|
57
|
+
++++
|
58
|
+
e^{2\pi \sqrt{-1}} = 1
|
59
|
+
++++
|
60
|
+
----
|
61
|
+
or
|
62
|
+
----
|
63
|
+
\[
|
64
|
+
e^{2\pi \sqrt{-1}} = 1
|
65
|
+
\]
|
66
|
+
----
|
67
|
+
Both render as
|
68
|
+
\[
|
69
|
+
e^{2\pi \sqrt{-1}} = 1
|
70
|
+
\]
|
71
|
+
_Please note that the formulae above will not render properly
|
72
|
+
if you are reading it on GitHub. It will, however, render properly if you run
|
73
|
+
this file through Asciidoctor_.
|
74
|
+
|
75
|
+
== Asciidoctor environments
|
76
|
+
|
77
|
+
Asciidoctor supports an `env` construct that maps to LaTeX environments.
|
78
|
+
Thus
|
79
|
+
----
|
80
|
+
[env.theorem]
|
81
|
+
--
|
82
|
+
There exist infinitely many prime numbers.
|
83
|
+
--
|
84
|
+
----
|
85
|
+
renders as an automatically numbered theorem:
|
86
|
+
|
87
|
+
[env.theorem]
|
88
|
+
--
|
89
|
+
There exist infinitely many prime numbers.
|
90
|
+
--
|
91
|
+
|
92
|
+
Likewise, using `[env.definition]`, we obtain
|
93
|
+
[env.definition]
|
94
|
+
--
|
95
|
+
An integer $n$ is *prime* if (a) it is not $\pm 1$
|
96
|
+
and (b) it has no divisors other
|
97
|
+
than $\pm 1$ and $\pm n$.
|
98
|
+
--
|
99
|
+
|
100
|
+
For numbered equations, use `[env.equation]` like this
|
101
|
+
|
102
|
+
----
|
103
|
+
[env.equation]
|
104
|
+
--
|
105
|
+
a^{p-1} \equiv 1\ \text{mod}\ p
|
106
|
+
--
|
107
|
+
----
|
108
|
+
|
109
|
+
to obtain the rendered text
|
110
|
+
|
111
|
+
[env.equation]
|
112
|
+
--
|
113
|
+
a^{p-1} \equiv 1\ \text{mod}\ p
|
114
|
+
--
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
Except for `[env.equation]`, the TeX constructs `$ ... $` and
|
119
|
+
`\[ ... \]` can be used in `[env]` blocks.
|
120
|
+
For directions on making cross-references and labeling theorems, equations, etc., see
|
121
|
+
the `README` file in the `try-out` directory. For an extensive
|
122
|
+
example of the use of Asciidoctor LaTeX, see
|
123
|
+
http://www.noteshare.io/section/the-fundamental-class-of-projective-space[this].
|
124
|
+
All of these constructs discussed above are translated into native LaTeX when
|
125
|
+
the converter is used to produuce tex output.
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
== Click blocks
|
130
|
+
|
131
|
+
Click blocks are similar to `[env]` blocks excep that the body of
|
132
|
+
the block is not displayed until the user clicks on the heading.
|
133
|
+
The heading of a click block is displayed in blue. Once a click
|
134
|
+
block is "opened", it can be closed by clicking again on the heading.
|
135
|
+
|
136
|
+
[click.comment]
|
137
|
+
--
|
138
|
+
It is sometimes useful to "hide" a comment in a click block
|
139
|
+
so as not to unduly disturb the flow of the prose. Click
|
140
|
+
blocks are also useful for problem sets, since one
|
141
|
+
can make hints, solutions, etc. clickable.
|
142
|
+
--
|
143
|
+
|
144
|
+
The source for the above comment is
|
145
|
+
|
146
|
+
----
|
147
|
+
[click.comment]
|
148
|
+
--
|
149
|
+
It is sometimes useful to "hide" a comment ...
|
150
|
+
--
|
151
|
+
----
|
152
|
+
|
153
|
+
The default for click blocks is not to number them.
|
154
|
+
See the file `click.adoc` in the `try-out` directory
|
155
|
+
for more information.
|
156
|
+
|
157
|
+
== Commands for rendering
|
158
|
+
|
159
|
+
Asciidoc math files can be rendered
|
160
|
+
|
161
|
+
. as HTML (the default)
|
162
|
+
. with the LaTeX converter additions such as automatic theorem numbering
|
163
|
+
. as LaTeX
|
164
|
+
+
|
165
|
+
*Note.* Forthcoming releases will make it possible to render
|
166
|
+
+
|
167
|
+
. as PDF
|
168
|
+
. as EPUB3 (Electronic book)
|
169
|
+
|
170
|
+
|
171
|
+
=== HTML output
|
172
|
+
|
173
|
+
To render a file into HTML, the Asciidoctor default,
|
174
|
+
use the usual `asciidoctor` command with this option:
|
175
|
+
```
|
176
|
+
$ asciidoctor -a stem foo.adoc
|
177
|
+
```
|
178
|
+
or with this
|
179
|
+
```
|
180
|
+
$ asciidoctor -a stem=latexmath foo.adoc
|
181
|
+
```
|
182
|
+
depending on the format.
|
183
|
+
|
184
|
+
|
185
|
+
=== LaTeX converter additions
|
186
|
+
|
187
|
+
To employ the converter additions such as automatic theorem numbering, use
|
188
|
+
```
|
189
|
+
$ asciidoctor -r asciidoctor-latex -a stem=latexmath -b html foo.adoc
|
190
|
+
```
|
191
|
+
or
|
192
|
+
```
|
193
|
+
$ asciidoctor-latex -b html foo.adoc
|
194
|
+
```
|
195
|
+
|
196
|
+
|
197
|
+
=== LaTeX output
|
198
|
+
|
199
|
+
To render a file into LaTeX, use the `-r` (require rubygem) and `-b` (backend) option, e.g.:
|
200
|
+
```
|
201
|
+
$ asciidoctor -r asciidoctor-latex -a stem=latexmath -b latex foo.adoc
|
202
|
+
```
|
203
|
+
or simply with the wrapper script:
|
204
|
+
```
|
205
|
+
$ asciidoctor-latex foo.adoc
|
206
|
+
```
|
207
|
+
|
208
|
+
|
209
|
+
== Switches
|
210
|
+
|
211
|
+
Switch `:stem:` processing on by puttinng the text `:stem:`
|
212
|
+
in your file. To turn the switch on and set it to `latexmath`, say
|
213
|
+
instead of `stem:latexmth`.
|
data/Rakefile
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$LOAD_PATH.unshift File.expand_path('lib', __dir__)
|
3
|
+
|
4
|
+
require 'rake/clean'
|
5
|
+
require 'bundler/gem_tasks'
|
6
|
+
|
7
|
+
begin
|
8
|
+
require 'yard'
|
9
|
+
# options are defined in .yardopts
|
10
|
+
YARD::Rake::YardocTask.new
|
11
|
+
|
12
|
+
task :doc => :yard
|
13
|
+
rescue LoadError => e
|
14
|
+
warn "#{e.path} is not available"
|
15
|
+
end
|
16
|
+
|
17
|
+
begin
|
18
|
+
require 'asciidoctor-doctest'
|
19
|
+
require 'asciidoctor-latex'
|
20
|
+
require 'rake/testtask'
|
21
|
+
|
22
|
+
namespace :doctest do
|
23
|
+
Rake::TestTask.new(:latex) do |t|
|
24
|
+
t.description = 'Run integration tests for LaTeX output.'
|
25
|
+
t.pattern = 'test/latex_test.rb'
|
26
|
+
t.libs << 'test'
|
27
|
+
end
|
28
|
+
|
29
|
+
Rake::TestTask.new(:html) do |t|
|
30
|
+
t.description = 'Run integration tests for HTML output.'
|
31
|
+
t.pattern = 'test/html_test.rb'
|
32
|
+
t.libs << 'test'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
task :doctest => [ 'doctest:latex', 'doctest:html' ]
|
37
|
+
task :test => :doctest
|
38
|
+
task :default => :test
|
39
|
+
|
40
|
+
namespace :generate do
|
41
|
+
DocTest::GeneratorTask.new(:latex) do |t|
|
42
|
+
t.converter_opts[:backend_name] = :latex
|
43
|
+
t.output_suite = DocTest::Latex::ExamplesSuite.new(examples_path: 'test/examples/tex')
|
44
|
+
t.examples_path.unshift 'test/examples/adoc' # extra input examples
|
45
|
+
end
|
46
|
+
|
47
|
+
DocTest::GeneratorTask.new(:html) do |t|
|
48
|
+
t.converter_opts[:backend_name] = :html
|
49
|
+
t.output_suite = DocTest::HTML::ExamplesSuite.new(examples_path: 'test/examples/html')
|
50
|
+
t.examples_path = ['test/examples/asciidoc-html'] # input examples
|
51
|
+
end
|
52
|
+
end
|
53
|
+
rescue LoadError => e
|
54
|
+
warn "#{e.path} is not available"
|
55
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
LIB_DIR = File.expand_path('../lib', __dir__)
|
4
|
+
$LOAD_PATH.unshift LIB_DIR unless $LOAD_PATH.include? LIB_DIR
|
5
|
+
|
6
|
+
require 'asciidoctor/latex'
|
7
|
+
require 'asciidoctor/cli'
|
8
|
+
|
9
|
+
DEFAULT_OPTS = {
|
10
|
+
backend: 'latex',
|
11
|
+
attributes: { 'stem' => 'latexmath' }
|
12
|
+
}
|
13
|
+
options = Asciidoctor::Cli::Options.new DEFAULT_OPTS
|
14
|
+
# FIXME This is a really bizarre API. Please make me simpler.
|
15
|
+
if (options.parse! ARGV) == 0
|
16
|
+
exit 0
|
17
|
+
else
|
18
|
+
invoker = Asciidoctor::Cli::Invoker.new options
|
19
|
+
GC.start
|
20
|
+
invoker.invoke!
|
21
|
+
exit invoker.code
|
22
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
% Needed for Asciidoc
|
3
|
+
|
4
|
+
\newcommand{\admonition}[2]{\textbf{#1}: {#2}}
|
5
|
+
\newcommand{\rolered}[1]{ \textcolor{red}{#1} }
|
6
|
+
|
7
|
+
\newtheorem{theorem}{Theorem}
|
8
|
+
\newtheorem{proposition}{Proposition}
|
9
|
+
\newtheorem{corollary}{Corollary}
|
10
|
+
\newtheorem{lemma}{Lemma}
|
11
|
+
\newtheorem{definition}{Definition}
|
12
|
+
\newtheorem{conjecture}{Conjecture}
|
13
|
+
\newtheorem{problem}{Problem}
|
14
|
+
\newtheorem{example}{Example}
|
15
|
+
\newtheorem{remark}{Remark}
|
16
|
+
\newtheorem{note}{Note}
|
17
|
+
|
18
|
+
|
19
|
+
%%%
|
20
|
+
% Extended quote environment with author
|
21
|
+
\def\signed#1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip2em
|
22
|
+
\hbox{}\nobreak\hfil\raise-3pt\hbox{(#1)}%
|
23
|
+
\parfillskip=0pt \finalhyphendemerits=0 \endgraf}}
|
24
|
+
|
25
|
+
\newsavebox\mybox
|
26
|
+
\newenvironment{aquote}[1]
|
27
|
+
{\savebox\mybox{#1}\begin{quotation}}
|
28
|
+
{\signed{\usebox\mybox}\end{quotation}}
|
29
|
+
%%%
|
30
|
+
|
31
|
+
\newenvironment{preamble}
|
32
|
+
{}
|
33
|
+
{}
|
34
|
+
|
35
|
+
%% http://tex.stackexchange.com/questions/99809/box-or-sidebar-for-additional-text
|
36
|
+
\newenvironment{sidebar}[1][r]
|
37
|
+
{\wrapfigure{#1}{0.5\textwidth}\tcolorbox}
|
38
|
+
{\endtcolorbox\endwrapfigure}
|
39
|
+
|
40
|
+
%% Style
|
41
|
+
\parindent0pt
|
42
|
+
\parskip8pt
|
@@ -0,0 +1,45 @@
|
|
1
|
+
%% A minimal LaTeX preamble
|
2
|
+
|
3
|
+
\documentclass[11pt]{amsart}
|
4
|
+
\usepackage{geometry} % See geometry.pdf to learn the layout options. There are lots.
|
5
|
+
\geometry{letterpaper} % ... or a4paper or a5paper or ...
|
6
|
+
%\geometry{landscape} % Activate for for rotated page geometry
|
7
|
+
%\usepackage[parfill]{parskip} % Activate to begin paragraphs with an empty line rather than an indent
|
8
|
+
\usepackage{graphicx}
|
9
|
+
\graphicspath{ {images/} }
|
10
|
+
\usepackage{wrapfig}
|
11
|
+
\usepackage{tcolorbox}
|
12
|
+
\usepackage{lipsum}
|
13
|
+
\usepackage{amssymb}
|
14
|
+
\usepackage{epstopdf}
|
15
|
+
\usepackage{color}
|
16
|
+
\usepackage{alltt}
|
17
|
+
\usepackage[version=3]{mhchem}
|
18
|
+
\usepackage{amsmath}
|
19
|
+
|
20
|
+
% Needed to properly typeset
|
21
|
+
% standard unicode characters:
|
22
|
+
%
|
23
|
+
\RequirePackage{fix-cm}
|
24
|
+
\usepackage{fontspec}
|
25
|
+
\usepackage[Latin,Greek]{ucharclasses}
|
26
|
+
%
|
27
|
+
% NOTE: you must also use xelatex
|
28
|
+
% as the typesetting engine
|
29
|
+
|
30
|
+
|
31
|
+
% \usepackage{fontspec}
|
32
|
+
% \usepackage{polyglossia}
|
33
|
+
% \setmainlanguage{en}
|
34
|
+
|
35
|
+
\usepackage{hyperref}
|
36
|
+
\hypersetup{
|
37
|
+
colorlinks=true,
|
38
|
+
linkcolor=blue,
|
39
|
+
filecolor=magenta,
|
40
|
+
urlcolor=cyan,
|
41
|
+
}
|
42
|
+
|
43
|
+
\DeclareGraphicsExtensions{.png, .jpg, jpeg, .pdf}
|
44
|
+
|
45
|
+
%% \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `dirname #1`/`basename #1 .tif`.png}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
%% A minimal LaTeX preamble
|
2
|
+
|
3
|
+
\documentclass[11pt]{amsbook}
|
4
|
+
\usepackage{geometry} % See geometry.pdf to learn the layout options. There are lots.
|
5
|
+
\geometry{letterpaper} % ... or a4paper or a5paper or ...
|
6
|
+
%\geometry{landscape} % Activate for for rotated page geometry
|
7
|
+
%\usepackage[parfill]{parskip} % Activate to begin paragraphs with an empty line rather than an indent
|
8
|
+
\usepackage{graphicx}
|
9
|
+
\graphicspath{ {images/} }
|
10
|
+
\usepackage{wrapfig}
|
11
|
+
\usepackage{tcolorbox}
|
12
|
+
\usepackage{lipsum}
|
13
|
+
\usepackage{amssymb}
|
14
|
+
\usepackage{epstopdf}
|
15
|
+
\usepackage{color}
|
16
|
+
\usepackage{alltt}
|
17
|
+
\usepackage[version=3]{mhchem}
|
18
|
+
\usepackage{amsmath}
|
19
|
+
|
20
|
+
% Needed to properly typeset
|
21
|
+
% standard unicode charaters:
|
22
|
+
%
|
23
|
+
\RequirePackage{fix-cm}
|
24
|
+
\usepackage{fontspec}
|
25
|
+
\usepackage[Latin,Greek]{ucharclasses}
|
26
|
+
%
|
27
|
+
% NOTE: you must also use xelatex
|
28
|
+
% as the typesetting engine
|
29
|
+
|
30
|
+
|
31
|
+
% \usepackage{fontspec}
|
32
|
+
%\usepackage{polyglossia}
|
33
|
+
%\setmainlanguage{en}
|
34
|
+
\usepackage{hyperref}
|
35
|
+
\hypersetup{
|
36
|
+
colorlinks=true,
|
37
|
+
linkcolor=blue,
|
38
|
+
filecolor=magenta,
|
39
|
+
urlcolor=cyan,
|
40
|
+
}
|
41
|
+
|
42
|
+
\DeclareGraphicsExtensions{.png, .jpg, jpeg, .pdf}
|
43
|
+
|
44
|
+
%% \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `dirname #1`/`basename #1 .tif`.png}
|