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