summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-10-18 20:28:01 +0000
committerKarl Berry <karl@freefriends.org>2018-10-18 20:28:01 +0000
commit0bd86e39a67aaac4274bbf501f97827394ad6a32 (patch)
tree822b16e7de130dd51208742176071cb8c89944f8
parent7886a204cd657bd21f4e64ab7125e477a4322494 (diff)
ditaa (18oct18)
git-svn-id: svn://tug.org/texlive/trunk@48932 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/ditaa/README56
-rw-r--r--Master/texmf-dist/doc/latex/ditaa/ditaa.pdfbin0 -> 104939 bytes
-rw-r--r--Master/texmf-dist/doc/latex/ditaa/ditaa.tex108
-rw-r--r--Master/texmf-dist/doc/latex/ditaa/example.tex35
-rw-r--r--Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.ditaa9
-rw-r--r--Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.pngbin0 -> 8006 bytes
-rw-r--r--Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.ditaa7
-rw-r--r--Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.pngbin0 -> 852 bytes
-rw-r--r--Master/texmf-dist/tex/latex/ditaa/ditaa.sty47
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-pictures.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/ditaa.tlpsrc0
12 files changed, 264 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/ditaa/README b/Master/texmf-dist/doc/latex/ditaa/README
new file mode 100644
index 00000000000..34be8bbd1fc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ditaa/README
@@ -0,0 +1,56 @@
+= The LaTeX ditaa package
+
+With this, you will not need to bring your diagrams outside your ```.tex``` file and not to worry about wiring such files for diagrams, and tools (Microsoft Visio, PowerPoint, Libre Office tools, as such) from which they are created.
+
+```
+\begin{ditaa}{ditaa caption example}{ditaaexample}
+ +-----+ +----+ +---+
+ |Store+---->|This+---->|One|
+ +--+--+ +----+ +---+
+ |
+ V
+ +-----+
+ |THIS |
+ +--+--+
+ |
+ V
+ +-----------+ +--+
+ |another one+---->|Hi|
+ +-----------+ +--+
+\end{ditaa}
+
+```
+
+The source above will be converted into a following diagram and incorporated in your final PDF.
+
+.Figure Rendered Ascii Art
+[#img-sunset]
+[caption="Figure 1: ",link=resources/rendered.png]
+image::resources/rendered.png[Rendered Ascii Art,480,300]
+
+== Prerequisites
+https://github.com/asciidoctor[Asciidoctor @ *GitHub*]
+
+* You need to have http://ditaa.sourceforge.net/[ditaa] installed. (Need to be able to run ```ditaa``` from your command line). Fortunately, recent package managers such as ```apt``` allow you to install it with a single command line ```sudo apt install ditaa```. ```brew``` let me do similar ```sudo brew isntall ditaa``` on my mac. For windows, sorry, please let me know how to do that...
+* You need to give an option ```--shell-escape``` to your LaTeX compiler (such as ```pdflatex```, ```latex```, etc) command whichever you use.
+
+
+== How to use
+
+* Place the ```ditaa.sty``` file at the same directory as your ```.tex``` file.
+* Create ```ditaa``` directory under the directory you have for the other non-ditaa images. This package will create ```.ditaa``` and ```.png``` files.
+* Do ```usepackage[imagepath=IMAGEPATH]{ditaa}``` beffore ```\begin{document}```. The IMAGEPATH is the directory you have images.
+* Compile your ```.tex``` files as usual, but giving ```--shell-escape``` option to your ```(pdf)latex``` command.
+
+== Tips
+Online sites such as [ascii-flow](http://stable.ascii-flow.appspot.com/#Draw) will be your friends!
+
+== Future Works
+* Make it possible to define caption and filename independently.
+* ~~Improve the way to define resource directory.~~
+* ~~Make it possible to specify image size.~~ (Now you can specify image width. See the example)
+* I want to use this in OverLeaf. Publish in CTAN? Help me. I'm a LaTeX newbie.
+
+== References
+* https://github.com/deselaers/latex-beamerposter[latex-beamerposter]: I learned a lot from this; such as how to package my .sty, how to organize directories under my repo for LaTeX style package, etc.
+
diff --git a/Master/texmf-dist/doc/latex/ditaa/ditaa.pdf b/Master/texmf-dist/doc/latex/ditaa/ditaa.pdf
new file mode 100644
index 00000000000..fa5ecb452eb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ditaa/ditaa.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/ditaa/ditaa.tex b/Master/texmf-dist/doc/latex/ditaa/ditaa.tex
new file mode 100644
index 00000000000..9a3520c685f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ditaa/ditaa.tex
@@ -0,0 +1,108 @@
+\documentclass[pagesize=auto]{scrartcl}
+
+\addtokomafont{title}{\rmfamily}
+
+\title{The \textsf{ditaa} package}
+\author{Hiroshi Ukai}
+\date{2018/10/18}
+
+
+\usepackage{verbatim}
+\def\imagepath{./resources}
+\usepackage[imagepath=\imagepath]{ditaa}
+\graphicspath{ {\imagepath/} }
+
+\begin{document}
+
+\maketitle
+
+\noindent
+The \LaTeX\ \textsf{ditaa} package renders your ascii art inside your LaTeX files into pretty image files which you can use them in your papers.
+
+\minisec{Usage:}
+To \texttt{usepackage} \textbf{ditaa}, typically do following.
+\begin{verbatim}
+ \def\imagepath{./resources}
+ \usepackage[imagepath=\imagepath]{ditaa}
+ \graphicspath{ {\imagepath/} }
+\end{verbatim}
+
+A vaiable \texttt{\textbackslash imagepath} points a directory that your images reside.
+Under it, you need to create a directory \texttt{ditaa} in advance.
+In this directory, \texttt{ditaa} environment creates its working files.
+
+\minisec{Features:}
+%
+This is a ditaa diagram example.
+\begin{verbatim}
+ \begin{ditaa}[8cm]{ditaa caption example}{ditaaexample}
+ +--------+ +-------+ +-------+
+ | | --+ ditaa +--> | |
+ | Text | +-------+ |diagram|
+ |Document| |!magic!| | |
+ | {d}| | | | |
+ +---+----+ +-------+ +-------+
+ : ^
+ | Lots of work |
+ +-------------------------+
+ \end{ditaa}
+\end{verbatim}
+
+The fragment above will be rendered into following diagram.
+
+\begin{ditaa}[8cm]{ditaa caption example}{ditaaexample}
+ +--------+ +-------+ +-------+
+ | | --+ ditaa +--> | |
+ | Text | +-------+ |diagram|
+ |Document| |!magic!| | |
+ | {d}| | | | |
+ +---+----+ +-------+ +-------+
+ : ^
+ | Lots of work |
+ +-------------------------+
+\end{ditaa}
+\pagebreak
+And you can specify image width like this Figure.\ref{fig:ditaaexample2}.
+
+\begin{verbatim}
+ \begin{ditaa}[6cm]{ditaa caption example2}{ditaaexample2}
+ +---------+
+ | cBLU |
+ | |
+ | +----+
+ | |cPNK|
+ | | |
+ +----+----+
+ \end{ditaa}
+\end{verbatim}
+
+To denote your diagram, you can do
+
+\begin{verbatim}
+
+ Figure~\ref{fig:ditaaexample2}
+
+\end{verbatim}
+
+, where \texttt{ditaaexample2} is the second argument you gave to the \texttt{ditaa} environment as you see above.
+The prefix \texttt{fig:} is given by \texttt{ditaa} environment automatically.
+
+\begin{ditaa}[6cm]{ditaa caption example2}{ditaaexample2}
+ +---------+
+ | cBLU |
+ | |
+ | +----+
+ | |cPNK|
+ | | |
+ +----+----+
+\end{ditaa}
+
+Enjoy!
+
+\minisec{ChangeLog:}
+%
+\begin{labeling}[\hspace{\labelsep}--]{0.9}
+\item[0.9] Preparation for first \textsf{ditaa} release.
+\end{labeling}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/ditaa/example.tex b/Master/texmf-dist/doc/latex/ditaa/example.tex
new file mode 100644
index 00000000000..10049fa5eb7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ditaa/example.tex
@@ -0,0 +1,35 @@
+% Preamble
+\documentclass[11pt]{article}
+
+% Packages
+\usepackage{a4wide}
+\def\imagepath{./resources/graphics}
+\usepackage[imagepath=\imagepath]{ditaa}
+\graphicspath{ {\imagepath/} }
+
+\begin{document}
+ This is a ditaa diagramm example.
+ \begin{ditaa}{ditaa caption example}{ditaaexample}
+ +--------+ +-------+ +-------+
+ | | --+ ditaa +--> | |
+ | Text | +-------+ |diagram|
+ |Document| |!magic!| | |
+ | {d}| | | | |
+ +---+----+ +-------+ +-------+
+ : ^
+ | Lots of work |
+ +-------------------------+
+ \end{ditaa}
+ Enjoy!
+ And you can even specify image width like this Figure.\ref{fig:ditaaexample2}.
+ \begin{ditaa}[6cm]{ditaa caption example2}{ditaaexample2}
+ +---------+
+ | cBLU |
+ | |
+ | +----+
+ | |cPNK|
+ | | |
+ +----+----+
+ \end{ditaa}
+\end{document}
+
diff --git a/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.ditaa b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.ditaa
new file mode 100644
index 00000000000..e770e37f564
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.ditaa
@@ -0,0 +1,9 @@
+ +--------+ +-------+ +-------+
+ | | --+ ditaa +--> | |
+ | Text | +-------+ |diagram|
+ |Document| |!magic!| | |
+ | {d}| | | | |
+ +---+----+ +-------+ +-------+
+ : ^
+ | Lots of work |
+ +-------------------------+
diff --git a/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.png b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.png
new file mode 100644
index 00000000000..b924b9b007d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.ditaa b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.ditaa
new file mode 100644
index 00000000000..448ec571ba6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.ditaa
@@ -0,0 +1,7 @@
+ +---------+
+ | cBLU |
+ | |
+ | +----+
+ | |cPNK|
+ | | |
+ +----+----+
diff --git a/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.png b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.png
new file mode 100644
index 00000000000..79f95c0f01a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.png
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/ditaa/ditaa.sty b/Master/texmf-dist/tex/latex/ditaa/ditaa.sty
new file mode 100644
index 00000000000..21969353dce
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ditaa/ditaa.sty
@@ -0,0 +1,47 @@
+% 'ditaa' package
+%
+% (c) Hiroshi Ukai
+%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ditaa}
+[2018/09/27 v0.01 LaTeX package for embedding ditaa style ascii art]
+
+\RequirePackage{fancyvrb}
+\RequirePackage{graphicx}
+\RequirePackage{kvoptions}
+
+\DeclareStringOption[]{imagepath}
+\ProcessKeyvalOptions*
+
+%@formatter:off (This line indicates IntelliJ that formatter should be off before this)
+\newenvironment{ditaa}[3][\columnwidth]
+ {
+ \def\ditaacaption{#2}
+ \def\ditaastem{#3}
+ \def\ditaadir{\ditaa@imagepath/ditaa}
+ \def\ditaafile{\ditaadir/\ditaastem.ditaa}
+ \def\ditaafigwidth{#1}
+ \VerbatimOut{\ditaafile}}
+ {\endVerbatimOut
+ \immediate\write18{ditaa -E "\ditaafile" "\ditaadir/\ditaastem.png"}
+ \begin{figure}[ht]
+ \begin{center}
+ \vspace{-1em}
+ \includegraphics[width=\ditaafigwidth]{\ditaadir/\ditaastem.png}
+ \vspace{-2em}
+ \caption{\ditaacaption}
+ \label{fig:\ditaastem}
+ \vspace{-1.5em}
+ \end{center}
+ \end{figure}
+ }
+%@formatter:on (This line indicates IntelliJ that formatter should be off before this)
+%--------------------------------------------------
+
+\endinput
+%%
+%% End of file `ditaa.sty'. \ No newline at end of file
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 185eecc52e6..acd39736d22 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -220,7 +220,7 @@ my @TLP_working = qw(
delim delimseasy delimset delimtxt denisbdoc dhua
diadia diagbox diagmac2 dialogl diagnose dice dichokey
dickimaw dictsym diffcoeff digiconfigs dijkstra din1505
- dinat dinbrief dingbat directory dirtree dirtytalk disser dithesis
+ dinat dinbrief dingbat directory dirtree dirtytalk disser ditaa dithesis
dk-bib dlfltxb
dnaseq dnp doc-pictex docbytex doclicense
docmfp docmute docsurvey doctools documentation
diff --git a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
index db2faeeb2eb..4572ed99ab2 100644
--- a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
@@ -32,6 +32,7 @@ depend curve2e
depend curves
depend dcpic
depend diagmac2
+depend ditaa
depend doc-pictex
depend dottex
depend dot2texi
diff --git a/Master/tlpkg/tlpsrc/ditaa.tlpsrc b/Master/tlpkg/tlpsrc/ditaa.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/ditaa.tlpsrc