From 0bd86e39a67aaac4274bbf501f97827394ad6a32 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 18 Oct 2018 20:28:01 +0000 Subject: ditaa (18oct18) git-svn-id: svn://tug.org/texlive/trunk@48932 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/ditaa/README | 56 +++++++++++ Master/texmf-dist/doc/latex/ditaa/ditaa.pdf | Bin 0 -> 104939 bytes Master/texmf-dist/doc/latex/ditaa/ditaa.tex | 108 +++++++++++++++++++++ Master/texmf-dist/doc/latex/ditaa/example.tex | 35 +++++++ .../latex/ditaa/resources/ditaa/ditaaexample.ditaa | 9 ++ .../latex/ditaa/resources/ditaa/ditaaexample.png | Bin 0 -> 8006 bytes .../ditaa/resources/ditaa/ditaaexample2.ditaa | 7 ++ .../latex/ditaa/resources/ditaa/ditaaexample2.png | Bin 0 -> 852 bytes Master/texmf-dist/tex/latex/ditaa/ditaa.sty | 47 +++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-pictures.tlpsrc | 1 + Master/tlpkg/tlpsrc/ditaa.tlpsrc | 0 12 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/ditaa/README create mode 100644 Master/texmf-dist/doc/latex/ditaa/ditaa.pdf create mode 100644 Master/texmf-dist/doc/latex/ditaa/ditaa.tex create mode 100644 Master/texmf-dist/doc/latex/ditaa/example.tex create mode 100644 Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.ditaa create mode 100644 Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.png create mode 100644 Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.ditaa create mode 100644 Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.png create mode 100644 Master/texmf-dist/tex/latex/ditaa/ditaa.sty create mode 100644 Master/tlpkg/tlpsrc/ditaa.tlpsrc 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/ditaa/ditaa.pdf 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample.png 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/ditaa/resources/ditaa/ditaaexample2.png 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 -- cgit v1.2.3