summaryrefslogtreecommitdiff
path: root/tests/inputs/latex-filter.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/inputs/latex-filter.txt')
-rw-r--r--tests/inputs/latex-filter.txt246
1 files changed, 246 insertions, 0 deletions
diff --git a/tests/inputs/latex-filter.txt b/tests/inputs/latex-filter.txt
new file mode 100644
index 0000000..9d1a4f4
--- /dev/null
+++ b/tests/inputs/latex-filter.txt
@@ -0,0 +1,246 @@
+LaTeX Filter
+============
+
+:blogpost-status: published
+:blogpost-doctype: article
+:blogpost-posttype: page
+:blogpost-categories: AsciiDoc,LaTeX,python
+
+The AsciiDoc distribution includes a LaTeX filter that translates LaTeX source
+to an image which is automatically inserted into the AsciiDoc output document.
+Although it can accept any LaTeX source, the primary use is to render
+mathematical formulae (see the examples below). The filter implements the
+'latex' Listing block and Paragraph styles.
+
+Two image formats are supported; PNG and SVG. PNG is the default since that
+was the first format that this filter supported. However, SVG is a better
+format since it's scalable. Using SVG make formulas look good in both PDFs
+and on web pages. SVG will also scale well when zooming in on a web page for
+example. It is recommended to always use the SVG format. This can be done by
+setting the 'imgfmt' parameter to 'svg', as is done below. An even better way
+is to set the global attribute 'latex-imgfmt' to 'svg'. Then SVG will be used
+for all formulas.
+
+This LaTeX paragraph:
+
+[listing]
+.....................................................................
+["latex", imgfmt="svg"]
+---------------------------------------------------------------------
+\begin{equation*}
+y = \int_0^\infty \gamma^2 \cos(x) dx
+\end{equation*}
+---------------------------------------------------------------------
+.....................................................................
+
+Renders:
+
+["latex", imgfmt="svg"]
+---------------------------------------------------------------------
+\begin{equation*}
+y = \int_0^\infty \gamma^2 \cos(x) dx
+\end{equation*}
+---------------------------------------------------------------------
+
+Compare the formula above, which is rendered as an SVG image, to the formula
+below which has been rendered as a PNG image. The difference will be most
+notable if zooming in on a web page, printing the web page or when rendering
+the document as a PDF.
+
+[listing]
+.....................................................................
+["latex", "latex2.png", 140, imgfmt="png"]
+---------------------------------------------------------------------
+\begin{equation*}
+y = \int_0^\infty \gamma^2 \cos(x) dx
+\end{equation*}
+---------------------------------------------------------------------
+.....................................................................
+
+Renders:
+
+["latex", "latex2.png", 140, imgfmt="png"]
+---------------------------------------------------------------------
+\begin{equation*}
+y = \int_0^\infty \gamma^2 \cos(x) dx
+\end{equation*}
+---------------------------------------------------------------------
+
+This LaTeX block:
+
+[listing]
+.....................................................................
+["latex","latex1.svg",imgfmt="svg",align="center"]
+---------------------------------------------------------------------
+\begin{equation*}
+\displaystyle{ V_i = C_0 - C_3
+\frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }
+\end{equation*}
+---------------------------------------------------------------------
+.....................................................................
+
+Renders:
+
+["latex","latex1.svg",imgfmt="svg",align="center"]
+---------------------------------------------------------------------
+\begin{equation*}
+\displaystyle{ V_i = C_0 - C_3
+\frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }
+\end{equation*}
+---------------------------------------------------------------------
+
+This LaTeX block:
+
+[listing]
+.....................................................................
+.LaTeX filter example
+[latex]
+["latex","latex3.svg",imgfmt="svg"]
+---------------------------------------------------------------------
+\begin{equation}
+\Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{
+\left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2}
+\log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}.
+\end{equation}
+
+\begin{equation}
+\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))}
+\end{equation}
+
+\begin{equation}\label{first}
+a=b+c
+\end{equation}
+
+\begin{subequations}\label{grp}
+\begin{align}
+a&=b+c\label{second}\\
+d&=e+f+g\label{third}\\
+h&=i+j\label{fourth}
+\end{align}
+\end{subequations}
+---------------------------------------------------------------------
+.....................................................................
+
+Renders:
+
+.LaTeX filter example
+[latex]
+["latex","latex3.svg",imgfmt="svg"]
+---------------------------------------------------------------------
+\begin{equation}
+\Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{
+\left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2}
+\log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}.
+\end{equation}
+
+\begin{equation}
+\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))}
+\end{equation}
+
+\begin{equation}\label{first}
+a=b+c
+\end{equation}
+
+\begin{subequations}\label{grp}
+\begin{align}
+a&=b+c\label{second}\\
+d&=e+f+g\label{third}\\
+h&=i+j\label{fourth}
+\end{align}
+\end{subequations}
+---------------------------------------------------------------------
+
+This LaTeX paragraph:
+
+[listing]
+.....................................................................
+.A LaTeX table
+["latex",imgfmt="svg"]
+\begin{tabular}{c r @{.} l}
+Pi expression &
+\multicolumn{2}{c}{Value} \\
+\hline
+$\pi$ & 3&1416 \\
+$\pi^{\pi}$ & 36&46 \\
+$(\pi^{\pi})^{\pi}$ & 80662&7 \\
+\end{tabular}
+.....................................................................
+
+Renders:
+
+.A LaTeX table
+["latex",imgfmt="svg"]
+\begin{tabular}{c r @{.} l}
+Pi expression &
+\multicolumn{2}{c}{Value} \\
+\hline
+$\pi$ & 3&1416 \\
+$\pi^{\pi}$ & 36&46 \\
+$(\pi^{\pi})^{\pi}$ & 80662&7 \\
+\end{tabular}
+
+
+Using the Filter
+----------------
+- The LaTeX filter is invoked by setting the Listing block or
+ Paragraph style (the first positional block attribute) to 'latex'.
+- The second positional attribute (named 'target' is optional, it sets
+ the name of the generated image file. If this is not supplied a
+ file name like `{docname}__{target-number}.{imgfmt}` is synthesised
+ (where `{docname}` is the document file name, `{target-number}`
+ is an integer number and `{imgfmt}` is the image format (png or svg).
+- The third positional attribute, named 'dpi', is also optional; it is
+ an integer number that sets the output resolution in dots per inch
+ for a PNG image. It is ignored for an SVG image.
+- The image format to use can be selected by setting the 'imgfmt'
+ parameter or by globally setting the 'latex-imgfmt' attribute.
+ Setting it to 'svg' will render SVG images and setting it to 'png'
+ will render PNG images. The default is 'png'.
+
+Because the LaTeX images are rendered using the image block templates
+you can also use the optional named image block attributes (see
+link:userguide.html#X55[Image macro attributes] in the AsciiDoc User
+Guide).
+
+[TIP]
+=====================================================================
+You can also change the image size using the following LaTeX commands:
+
+ \tiny
+ \scriptsize
+ \footnotesize
+ \small
+ \normalsize
+ \large
+ \Large
+ \LARGE
+ \huge
+
+For example:
+
+ [latex]
+ \Large $y = \int_0^\infty \gamma^2 \cos(x) dx$
+
+The `\Large` command is outside the `$` math delimiters.
+
+=====================================================================
+
+The filter (`./filters/latex/latex2img.py`) can be used outside
+AsciiDoc to convert LaTeX source to images.
+
+Execute the following command to see how to use it:
+
+ $ ./filters/latex/latex2img.py --help
+
+
+Limitations
+-----------
+- The `asciidoc(1)` input and output files cannot both be `-` (stdin
+ and stdout), either the input or output files (or both) must be a
+ named file.
+
+
+Installation
+------------
+In addition to AsciiDoc you will need to have `latex(1)`,
+`dvipng(1)` (for PNG) and/or `dvisvgm(1)` (for SVG) installed.