texlive[44394] Master: ladder (17may17)
commits+karl at tug.org
commits+karl at tug.org
Wed May 17 23:53:12 CEST 2017
Revision: 44394
http://tug.org/svn/texlive?view=revision&revision=44394
Author: karl
Date: 2017-05-17 23:53:12 +0200 (Wed, 17 May 2017)
Log Message:
-----------
ladder (17may17)
Modified Paths:
--------------
trunk/Master/tlpkg/bin/tlpkg-ctan-check
trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/ladder/
trunk/Master/texmf-dist/doc/latex/ladder/README.md
trunk/Master/texmf-dist/doc/latex/ladder/ladder.pdf
trunk/Master/texmf-dist/doc/latex/ladder/ladder.tex
trunk/Master/texmf-dist/tex/latex/ladder/
trunk/Master/texmf-dist/tex/latex/ladder/ladder.sty
trunk/Master/tlpkg/tlpsrc/ladder.tlpsrc
Added: trunk/Master/texmf-dist/doc/latex/ladder/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ladder/README.md (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/ladder/README.md 2017-05-17 21:53:12 UTC (rev 44394)
@@ -0,0 +1,29 @@
+# Lader TeX package
+_This package permit the creation of simple ladder diagram into TeX documents._
+
+[Example](https://github.com/AurelienC/tex-ladder/blob/master/ladder.pdf)
+
+## Usage
+The code must be inserted between en `tikzpicture` section.
+
+Add the packages :
+ \usepackage{tikz}
+ \usepackage{Ladder}
+
+
+
+### Net
+_All contacts and relays are, by default, added in series_
+* `LadderLine` begin a new ladder net
+* `startParallel` begin a parallel segment
+* `setParallel` begin the new parallel segment
+* `unsetParallel` end of the parallel segment
+
+### Contacts
+* `LadderNO[type]{name}{mnemonic}` a Normally Opened contact
+* `LadderNC[type]{name}{mnemonic}` a Normaly Closed contact
+_Type may be P (rising edge), N (falling edge)..._
+
+### Relays
+* `LadderB[type]{name}{mnemonic}` a relay
+_Type may be R (reset), S (set)..._
Property changes on: trunk/Master/texmf-dist/doc/latex/ladder/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/ladder/ladder.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/ladder/ladder.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ladder/ladder.pdf 2017-05-17 21:52:21 UTC (rev 44393)
+++ trunk/Master/texmf-dist/doc/latex/ladder/ladder.pdf 2017-05-17 21:53:12 UTC (rev 44394)
Property changes on: trunk/Master/texmf-dist/doc/latex/ladder/ladder.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/ladder/ladder.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ladder/ladder.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/ladder/ladder.tex 2017-05-17 21:53:12 UTC (rev 44394)
@@ -0,0 +1,268 @@
+\documentclass[a4paper]{article}
+
+%% Language and font encodings
+\usepackage[english]{babel}
+\usepackage[utf8x]{inputenc}
+\usepackage[T1]{fontenc}
+
+%% Sets page size and margins
+\usepackage[a4paper,top=3cm,bottom=2cm,left=3cm,right=3cm,marginparwidth=1.75cm]{geometry}
+
+%% Useful packages
+\usepackage{ladder}
+\usepackage{hyperref}
+\usepackage{xcolor}
+\usepackage{minted}
+
+\definecolor{LG}{HTML}{F9F9F9}
+
+%% Informations
+\title{\textsf{ladder} package}
+\author{Aurélien CADIOU \\ \href{mailto:contact at aureliencadiou.fr}{contact at aureliencadiou.fr}}
+
+\begin{document}
+\maketitle
+
+\setcounter{tocdepth}{1}
+\tableofcontents
+
+\section*{Introduction}
+This package permit the creation of simple ladder diagram into TeX documents.
+
+\href{https://github.com/AurelienC/tex-ladder}{Github repository : tex-ladder}
+
+\section{Installation}
+Install this package like any other \LaTeX~package.
+
+\section{Dependencies}
+This package depends on :
+\begin{itemize}
+\item \href{https://www.ctan.org/search/?phrase=tikz}{tikz}
+\item \href{https://www.ctan.org/pkg/ifthen}{ifthen}
+\item \href{https://www.ctan.org/pkg/calc}{calc}
+\end{itemize}
+
+
+\section{Usage}
+\subsection{Package}
+Add following packages on your document : \mintinline{latex}{\usepackage{tikz} \usepackage{ladder}}.
+
+
+\subsection{Net}
+All contacts and relays are, by default, added in serie.
+\begin{itemize}
+\item \mintinline{latex}{\ladderLine} begin a new ladder net
+\item \mintinline{latex}{\startParallel} begin a parallel segment
+\item \mintinline{latex}{\setParallel} begin the new parallel segment
+\item \mintinline{latex}{\unsetParallel} end of the parallel segment
+\end{itemize}
+
+\subsection{Contacts}
+\texttt{type} of contacts may be any letter. Conventionnaly, we use \texttt{P} for rising edge contact and \texttt{N} for falling edge contact.\\
+
+\begin{itemize}
+\item \mintinline{latex}{\ladderNO[type]{name}{mnemonic}} Normally Opened contact
+\item \mintinline{latex}{\ladderNC[type]{name}{mnemonic}} Normaly Closed contact
+\end{itemize}
+
+
+\subsection{Coils}
+\texttt{type} of coils may be any letter. Conventionnaly, we use \texttt{R} for reset coil, \texttt{S} for set coil.\\
+
+\begin{itemize}
+\item \mintinline{latex}{\ladderC[type]{name}{mnemonic}} a coil
+\end{itemize}
+
+
+\section{Simple example}
+\subsection{Preview}
+\begin{figure}[h!]
+ \begin{tikzpicture}
+ \ladderLine
+ \ladderNO{Switch}{I1.0}
+ \ladderNC{Breaker}{I0.1}
+ \ladderNO[P]{Start}{M0.0}
+ \ladderC[S]{Running}{M1.0}
+
+ \ladderLine
+ \ladderNO{Breaker}{I0.1}
+ \ladderC{Fault}{M10.0}
+ \end{tikzpicture}
+ \caption{Example with contacts and coil}
+ \label{example1}
+\end{figure}
+
+\subsection{Code}
+Code of figure \ref{example1}.
+\begin{minted}[bgcolor=LG, fontsize=\footnotesize]{latex}
+\begin{tikzpicture}
+ \ladderLine
+ \ladderNO{Switch}{I1.0}
+ \ladderNC{Breaker}{I0.1}
+ \ladderNO[P]{Start}{M0.0}
+ \ladderC[S]{Running}{M1.0}
+
+ \ladderLine
+ \ladderNO{Breaker}{I0.1}
+ \ladderC{Fault}{M10.0}
+\end{tikzpicture}
+\end{minted}
+
+
+\section{Parallel section}
+\subsection{Preview}
+\begin{figure}[h!]
+ \begin{tikzpicture}
+ \ladderLine
+ \ladderNO[P]{Button}{I1.0}
+
+ \startParallel % Begin of section
+ \ladderNO{Running}{M1.0}
+ \ladderNC{Fault}{M10.0}
+
+ \setParallel
+ \ladderNO{Manual}{M2.3}
+ \unsetParallel
+
+ \ladderC[S]{Validation}{M1.1}
+ \end{tikzpicture}
+ \caption{Example with parallel section}
+ \label{example2}
+\end{figure}
+
+\subsection{Code}
+Code of figure \ref{example2}.
+
+\begin{minted}[bgcolor=LG, fontsize=\footnotesize]{latex}
+\begin{tikzpicture}
+ \ladderLine
+ \ladderNO[P]{Button}{I1.0}
+
+ \startParallel % Begin of section
+ \ladderNO{Running}{M1.0}
+ \ladderNC{Fault}{M10.0}
+
+ \setParallel
+ \ladderNO{Manual}{M2.3}
+ \unsetParallel
+
+ \ladderC[S]{Validation}{M1.1}
+\end{tikzpicture}
+\end{minted}
+
+
+
+
+\section{Complete example}
+\subsection{Preview}
+\begin{figure}[!h]
+ \begin{tikzpicture}
+ \ladderLine % Begenning new line
+ \ladderNO{bla}{I1.0}
+
+ % M0 will be in parallel with I1.0 and I1.1
+ \startParallel
+ \ladderNC{bli}{M0.0}
+
+ \setParallel
+ \ladderNO{blou}{I1.0}
+ \ladderNO{blo}{I1.1}
+ \unsetParallel
+
+ \ladderC{blu}{M1} % On met une "bobine"
+ \ladderNO[P]{ble}{I2.0}
+
+ \startParallel
+ \ladderC[R]{bleu}{M0.1}
+ \setParallel
+
+ \ladderC[S]{bleu}{M1.2}
+ \unsetParallel
+
+ % New section
+ \ladderLine
+
+ \ladderNO{bla}{I3.7}
+
+ \startParallel
+ \ladderNC{bli}{M1.0}
+ \ladderNO[P]{blou}{I1.0}
+
+ \setParallel
+ \ladderNO{blo}{I1.6}
+ \unsetParallel
+
+ \ladderC{blu}{M4.1}
+
+ \ladderNO{ble}{I7.2}
+
+ \startParallel
+ \ladderC{bleu}{M1}{R}
+
+ \setParallel
+ \ladderNO{ble}{I7.3}
+ \ladderC[S]{bleu}{M4.2}
+ \unsetParallel
+ \end{tikzpicture}
+ \caption{Example of ladder package usage}
+ \label{example3}
+\end{figure}
+
+\subsection{Code}
+Code of figure \ref{example3}.
+
+\begin{minted}[bgcolor=LG, fontsize=\footnotesize]{latex}
+\begin{figure}
+ \begin{tikzpicture}
+ \ladderLine % Begenning new line
+ \ladderNO{bla}{I1.0}
+
+ % M0 will be in parallel with I1.0 and I1.1
+ \startParallel
+ \ladderNC{bli}{M0.0}
+
+ \setParallel
+ \ladderNO{blou}{I1.0}
+ \ladderNO{blo}{I1.1}
+ \unsetParallel
+
+ \ladderC{blu}{M1} % On met une "bobine"
+ \ladderNO[P]{ble}{I2.0}
+
+ \startParallel
+ \ladderC[R]{bleu}{M0.1}
+ \setParallel
+ \ladderC[S]{bleu}{M1.2}
+ \unsetParallel
+
+ % New section
+ \ladderLine
+
+ \ladderNO{bla}{I3.7}
+
+ \startParallel
+ \ladderNC{bli}{M1.0}
+ \ladderNO[P]{blou}{I1.0}
+
+ \setParallel
+ \ladderNO{blo}{I1.6}
+ \unsetParallel
+
+ \ladderC{blu}{M4.1}
+
+ \ladderNO{ble}{I7.2}
+
+ \startParallel
+ \ladderC{bleu}{M1}{R}
+
+ \setParallel
+ \ladderNO{ble}{I7.3}
+ \ladderC[S]{bleu}{M4.2}
+ \unsetParallel
+ \end{tikzpicture}
+ \caption{Example of ladder package usage}
+\end{figure}
+\end{minted}
+
+
+\end{document}
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/ladder/ladder.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/ladder/ladder.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ladder/ladder.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/ladder/ladder.sty 2017-05-17 21:53:12 UTC (rev 44394)
@@ -0,0 +1,127 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LADDER %%
+%% Aurélien CADIOU %%
+%% contact at aureliencadiou.fr %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Licence : MIT licence
+%% Repository : https://github.com/AurelienC/tex-ladder
+
+\NeedsTeXFormat{LaTeX2e}[1999/01/01]
+\ProvidesPackage{ladder}[2017/05/17]
+
+
+% Packages required
+\RequirePackage{tikz}
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+
+
+\newcounter{nextY}%
+\newcounter{nextYPar}%
+\newcounter{nextX}%
+\newcounter{currentY}%
+\newcounter{currentX}%
+\newcounter{tempCurrentY}%
+\newcounter{startPar}%
+\newcounter{stopPar}%
+\newcounter{memCurrentX}%
+\newcounter{memCurrentY}%
+
+
+%%% NEW LINE %%%
+\newcommand{\ladderLine}[0]{
+ % Updating variables
+ \setcounter{currentX}{0}
+ \setcounter{nextX}{0}
+ \setcounter{currentY}{\value{nextY}}
+}
+
+
+%%% TEXT %%%
+\newcommand{\ladderText}[3][]{
+ \draw[text centered](\value{currentX}+1,\value{currentY}+1) node {\textbf{#2}};
+ \draw[text centered](\value{currentX}+1,\value{currentY}+0.5) node {\textit{#3}};
+ \draw[text centered](\value{currentX}+1,\value{currentY}) node {\texttt{\LARGE{#1}}};
+}
+
+
+%%% NO CONTACT %%%
+\newcommand{\ladderNO}[3][]{
+ % Updating variables
+ \setcounter{currentX}{\value{nextX}}
+ \setcounter{tempCurrentY}{\value{currentY}-2}
+ \ifthenelse{\value{nextY}>\value{tempCurrentY}}{\setcounter{nextY}{\value{tempCurrentY}}}{}
+ \ifthenelse{\value{nextYPar}>\value{tempCurrentY}}{\setcounter{nextYPar}{\value{tempCurrentY}}}{}
+ \addtocounter{nextX}{2}
+
+ % Drawing
+ \draw(\value{currentX}+0.75,\value{currentY}+0.25) -- (\value{currentX}+0.75,\value{currentY}-0.25); % First bar of NO contact
+ \draw(\value{currentX}+1.25,\value{currentY}+0.25) -- (\value{currentX}+1.25,\value{currentY}-0.25); % Second bar of NO contact
+ \draw(\value{currentX},\value{currentY}) -- (\value{currentX}+0.75,\value{currentY}); % Connection
+ \draw(\value{currentX}+1.25,\value{currentY}) -- (\value{nextX},\value{currentY}); % Connection
+ \ladderText[#1]{#2}{#3}
+}
+
+
+%%% NC CONTACT %%%
+\newcommand{\ladderNC}[3][]{
+ % Updating variables
+ \setcounter{currentX}{\value{nextX}}
+ \setcounter{tempCurrentY}{\value{currentY}-2}
+ \ifthenelse{\value{nextY}>\value{tempCurrentY}}{\setcounter{nextY}{\value{tempCurrentY}}}{}
+ \ifthenelse{\value{nextYPar}>\value{tempCurrentY}}{\setcounter{nextYPar}{\value{tempCurrentY}}}{}
+ \addtocounter{nextX}{2}
+
+ % Drawing
+ \draw(\value{currentX}+0.75,\value{currentY}+0.25) -- (\value{currentX}+0.75,\value{currentY}-0.25) -- (\value{currentX}+1.25,\value{currentY}+0.25) -- (\value{currentX}+1.25,\value{currentY}-0.25); % NC contact
+ \draw(\value{currentX},\value{currentY}) -- (\value{currentX}+0.75,\value{currentY}); % Connection
+ \draw(\value{currentX}+1.25,\value{currentY}) -- (\value{nextX},\value{currentY}); % Connection
+ \ladderText[#1]{#2}{#3}
+}
+
+
+%%% COILS %%%
+\newcommand{\ladderC}[3][]{
+ % Updating variables
+ \setcounter{currentX}{\value{nextX}}
+ \setcounter{tempCurrentY}{\value{currentY}-2}
+ \ifthenelse{\value{nextY}>\value{tempCurrentY}}{\setcounter{nextY}{\value{tempCurrentY}}}{}
+ \ifthenelse{\value{nextYPar}>\value{tempCurrentY}}{\setcounter{nextYPar}{\value{tempCurrentY}}}{}
+ \addtocounter{nextX}{2}
+
+ % Drawing
+ \draw (\value{currentX}+1,\value{currentY}) circle (0.3);
+ \draw(\value{currentX},\value{currentY}) -- (\value{currentX}+0.7,\value{currentY}); % Connection
+ \draw(\value{currentX}+1.3,\value{currentY}) -- (\value{nextX},\value{currentY}); % Connection
+ \ladderText[#1]{#2}{#3}
+}
+
+
+
+%%% START OF PARALLEL SECTION %%%
+\newcommand{\startParallel}[0]{
+ \setcounter{startPar}{\value{nextX}} % Store the X of beginning
+}
+
+
+
+%%% DEBUT PARALLELE %%%
+\newcommand{\setParallel}[0]{
+ \setcounter{stopPar}{\value{nextX}}%
+ \draw(\value{startPar},\value{currentY}) -- (\value{startPar},\value{nextYPar}); % Vertical bar
+ \setcounter{memCurrentX}{\value{nextX}}%
+ \setcounter{memCurrentY}{\value{currentY}}%
+ \setcounter{nextX}{\value{startPar}}%
+ \setcounter{currentY}{\value{nextYPar}}%
+}
+
+
+%%% END OF PARALLEL SECTION %%%
+\newcommand{\unsetParallel}[0]{
+ % Parallel section is more larger than "normal" section test
+ \ifthenelse{\value{nextX}>\value{memCurrentX}}{}{\draw(\value{nextX},\value{currentY}) -- (\value{stopPar},\value{currentY}) -- (\value{stopPar},\value{memCurrentY});}
+ \ifthenelse{\value{nextX}>\value{memCurrentX}}{\draw (\value{nextX},\value{currentY}) -- (\value{nextX},\value{memCurrentY}) -- (\value{memCurrentX},\value{memCurrentY});}{\setcounter{nextX}{\value{memCurrentX}}}
+ \setcounter{currentY}{\value{memCurrentY}}
+ \setcounter{nextYPar}{0}
+}
Property changes on: trunk/Master/texmf-dist/tex/latex/ladder/ladder.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check 2017-05-17 21:52:21 UTC (rev 44393)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check 2017-05-17 21:53:12 UTC (rev 44394)
@@ -346,7 +346,7 @@
ktv-texdata kurier
l2picfaq l2tabu l2tabu-english l2tabu-french l2tabu-italian l2tabu-spanish
l3build l3kernel l3packages l3experimental
- labbook labels labyrinth lambda-lists langcode langsci
+ labbook labels labyrinth ladder lambda-lists langcode langsci
lapdf lastpackage lastpage
latex latex-bib-ex latex-bib2-ex latex-brochure
latex-course latex-doc-ptr latex-fonts
Modified: trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc 2017-05-17 21:52:21 UTC (rev 44393)
+++ trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc 2017-05-17 21:53:12 UTC (rev 44394)
@@ -63,6 +63,7 @@
depend hvfloat
depend knitting
depend knittingpattern
+depend ladder
depend lapdf
depend latex-make
depend lpic
Added: trunk/Master/tlpkg/tlpsrc/ladder.tlpsrc
===================================================================
More information about the tex-live-commits
mailing list