source: pst/typesetting/asymptote.xml

trunk
Last change on this file was c2a4859, checked in by Douglas R. Reno <renodr@…>, 3 days ago

Update to asymptote-2.89

  • Property mode set to 100644
File size: 10.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY asymptote-download-http "&sourceforge-dl;/asymptote/asymptote-&asymptote-version;.src.tgz">
8 <!ENTITY asymptote-download-ftp " ">
9 <!ENTITY asymptote-md5sum "905c100fc40b4af24ebf7398b8cce2b7">
10 <!ENTITY asymptote-size "14 MB">
11 <!-- for asymptote-2.88 on top of TL2024, 75 MB for programis
12 the docs overwrite texmf-dist (5.2 MB) -->
13 <!ENTITY asymptote-buildsize "202 MB (50 MB installed after overwriting files in $TEXLIVE_PREFIX/texmf-dist/, with all the dependencies which are in BLFS)">
14 <!ENTITY asymptote-time "0.9 SBU (using parallelism=4)">
15]>
16
17<sect1 id="asymptote" xreflabel="asymptote-&asymptote-version;">
18 <?dbhtml filename="asymptote.html"?>
19
20
21 <title>asymptote-&asymptote-version;</title>
22
23 <indexterm zone="asymptote">
24 <primary sortas="a-asymptote">asymptote</primary>
25 </indexterm>
26
27 <sect2 role="package">
28 <title>Introduction to asymptote</title>
29
30 <para>
31 <application>Asymptote</application> is a powerful descriptive vector
32 graphics language that provides a natural coordinate-based framework for
33 technical drawing. Labels and equations can be typeset with LaTeX. As
34 well as EPS, PDF and PNG output it can produce WebGL 3D HTML rendering
35 and (using <application>dvisvgm</application>) SVG output.
36 </para>
37
38 &lfs121_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&asymptote-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&asymptote-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &asymptote-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &asymptote-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &asymptote-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &asymptote-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74<!--<bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Required patch:
79 <ulink url="&patch-root;/asymptote-&asymptote-version;-build_fix-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>-->
83
84 <bridgehead renderas="sect3">asymptote Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Required</bridgehead>
87 <para role="required">
88 <xref linkend="gs"/> and
89 <xref linkend="texlive"/>
90 </para>
91
92 <bridgehead renderas="sect4">Recommended</bridgehead>
93 <para role="recommended">
94 <xref linkend="curl"/>,
95 <xref linkend="freeglut"/>,
96 <xref linkend="gc"/>,
97 <xref linkend="glew"/>,
98 <xref linkend="glm"/> and
99 <xref linkend="libtirpc"/>
100 </para>
101
102 <bridgehead renderas="sect4">Recommended at runtime</bridgehead>
103 <para role="recommended">
104 <xref role="runtime" linkend="dvisvgm"/> to allow svg output
105 </para>
106
107 <bridgehead renderas="sect4">Optional</bridgehead>
108 <para role="optional">
109 <xref linkend="fftw"/>,
110 <xref linkend="gsl"/>,
111 <xref linkend="libsigsegv"/>,
112 both <xref linkend="boost"/> and
113 <ulink url="https://github.com/Tencent/rapidjson/releases/">rapidjson</ulink>
114 to use
115 <ulink url="https://microsoft.github.io/language-server-protocol/implementors/tools/">LSP</ulink>
116 which can be used with
117 <ulink url="https://asymptote.sourceforge.io/doc/Language-server-protocol.html#index-LSP/">emacs</ulink>,
118 and <ulink url="https://eigen.tuxfamily.org/">eigen</ulink>
119 </para>
120
121 <bridgehead renderas="sect4">Optional (at runtime)</bridgehead>
122 <para role="optional">
123 <xref linkend="imagemagick"/> to convert output to other formats such as
124 JPEG or to create animated GIFs,
125 <!-- dependency is in GUI/xasy.py -->
126 <ulink url="https://pypi.org/project/PyQt5/">PyQt5</ulink> (not tested,
127 has a build dependency of &qt5-deps;) to use xasy.
128 </para>
129
130 <para condition="html" role="usernotes">
131 Editor Notes: <ulink url="&blfs-wiki;/asymptote"/>
132 </para>
133 </sect2>
134
135 <sect2 role="installation">
136 <title>Installation of asymptote</title>
137
138 <note>
139 <!-- This is specifically about my cylinder test - it has been
140 broken twice, one time the fix involved changing the script,
141 the second was blamed on the low-end hardware (radeon 3400G).
142 I don't understand the commands of asy so I will not
143 spend time bisecting it. Ken -->
144 <para>
145 Certain 3D PDF scripts may not work when invoked from pdflatex
146 on some zen+ amdgpu APU machines.
147 </para>
148 </note>
149
150<!-- Editors: for testing this, the minimal latex functionality is
151 covered by the cylinder and triangle tests in
152 https://www.linuxfromscratch.org/~ken/tex-testfiles/latex-test-20240320.tar.xz
153 but the more interesting stuff (WebM html, svg, png, pdf) is tested in
154 https://www.linuxfromscratch.org/~ken/asy-nontex-testfiles/asy-test-20200809.tar.xz
155-->
156<!--<para>
157 First apply a patch to fix building without the Language Server Protocol :
158 </para>
159
160<screen><userinput>patch -Np1 -i ../asymptote-&asymptote-version;-build_fix-1.patch</userinput></screen>-->
161
162 <para>
163 Install <application>asymptote</application> by running the following
164 commands:
165 </para>
166
167<screen><userinput>export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &amp;&amp;
168
169./configure --prefix=$TEXLIVE_PREFIX \
170 --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \
171 --datarootdir=$TEXLIVE_PREFIX/texmf-dist \
172 --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \
173 --libdir=$TEXLIVE_PREFIX/texmf-dist \
174 --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \
175 --disable-lsp \
176 --enable-gc=system \
177 --with-latex=$TEXLIVE_PREFIX/texmf-dist/tex/latex \
178 --with-context=$TEXLIVE_PREFIX/texmf-dist/tex/context/third &amp;&amp;
179
180make</userinput></screen>
181
182 <para>
183 To test the results, issue: <command>make check</command>.
184 </para>
185
186 <para>
187 Now, as the <systemitem class="username">root</systemitem> user:
188 </para>
189
190<screen role="root"><userinput>make install</userinput></screen>
191
192 </sect2>
193
194 <sect2 role="commands">
195 <title>Command Explanations</title>
196
197 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
198 href="../../xincludes/tex-prefix.xml"/>
199
200 <para>
201 <parameter>--libdir=$TEXLIVE_PREFIX/texmf-dist</parameter>:
202 This parameter ensures that the <filename
203 class="directory">asymptote</filename> directory will similarly
204 overwrite any files installed by install-tl-unx.
205 </para>
206
207 <para>
208 <parameter>--disable-lsp</parameter>: The Language Server Protocol is
209 enabled by default, with several third-party sources included, but it
210 does not build unless boost and repidjson have been installed.
211 </para>
212
213 <para>
214 <parameter>--enable-gc=system</parameter>: this ensures that the system
215 version of <filename class="libraryfile">libgc.so</filename> will be used
216 instead of the version shipped with this package.
217 </para>
218
219 <para>
220 <parameter>--with-latex=</parameter>
221 <parameter>--with-context=</parameter>: These switches
222 ensure that style files and a tex file will be installed into the
223 <application>texlive</application> directories instead of creating a
224 <filename class="directory">texmf-local</filename> directory for them.
225 </para>
226
227 <!-- commenting for now: 2.44 installs asymptote.info in both places
228 so the old version no longer remains
229
230 <para>
231 <command>rm -fv /opt/texlive/.../asymptote.info</command>:
232 This deletes the file installed by <application>texlive</application>.
233 Exceptionally, asymptote will create an <filename
234 class="directory">asymptote/</filename> subdirectory for its own
235 <filename>asymptote.info</filename> even though a possibly older
236 version from <xref linkend="texlive"/> is in the main
237 <application>texlive</application>
238 <filename class="directory">info/</filename> directory. Both the
239 new version and the existing <filename>asy-faq.info</filename>
240 <emphasis>will</emphasis> be found by <command>info</command>.
241 </para>-->
242
243 </sect2>
244
245 <sect2 role="content">
246 <title>Contents</title>
247
248 <segmentedlist>
249 <segtitle>Installed Programs</segtitle>
250 <segtitle>Installed Libraries</segtitle>
251 <segtitle>Installed Directory</segtitle>
252
253 <seglistitem>
254 <seg>
255 asy, xasy
256 </seg>
257 <seg>
258 None
259 </seg>
260 <seg>
261 $TEXLIVE_PREFIX/texmf-dist/asymptote,
262 $TEXLIVE_PREFIX/doc/asymptote,
263 $TEXLIVE_PREFIX/info/asymptote
264 </seg>
265 </seglistitem>
266 </segmentedlist>
267
268 <variablelist>
269 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
270 <?dbfo list-presentation="list"?>
271 <?dbhtml list-presentation="table"?>
272
273 <varlistentry id="asy">
274 <term><command>asy</command></term>
275 <listitem>
276 <para>
277 is a vector graphics program
278 </para>
279 <indexterm zone="asymptote asy">
280 <primary sortas="b-asy">asy</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="xasy">
286 <term><command>xasy</command></term>
287 <listitem>
288 <para>
289 is a Python3 script providing a Qt5 GUI for asy
290 </para>
291 <indexterm zone="asymptote xasy">
292 <primary sortas="b-xasy">xasy</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 </variablelist>
298
299 </sect2>
300
301</sect1>
Note: See TracBrowser for help on using the repository browser.