diff options
author | Karl Berry <karl@freefriends.org> | 2015-10-11 21:21:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-10-11 21:21:12 +0000 |
commit | 7d6d0cfb058a982c069407743dcf965370b00bcc (patch) | |
tree | 1087dbd962eec57c2f6060c1974ccb5f57eda0a6 | |
parent | c42b50b291d00f547400888b81ef4d2bcad45142 (diff) |
pst-stru (11oct15)
git-svn-id: svn://tug.org/texlive/trunk@38613 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/Changes | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.bib | 78 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf | bin | 201666 -> 223287 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex | 401 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex | 302 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty | 2 |
7 files changed, 414 insertions, 382 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-stru/Changes b/Master/texmf-dist/doc/generic/pst-stru/Changes index 32baac925d6..67f37aa6130 100644 --- a/Master/texmf-dist/doc/generic/pst-stru/Changes +++ b/Master/texmf-dist/doc/generic/pst-stru/Changes @@ -1,8 +1,11 @@ -pst-stru.tex ----------------------------- +pst-stru.sty -------- -0.11 2006/10/25 First CTAN public release. (hv) +pst-stru.tex -------- +v. 0.13 2015-10-08 - fix bug with length in PS code (hv) +v. 0.12 2007-07-22 - adding license + - using always \ps@object -pst-stru.sty ----------------------------- - 2006/10/25 First CTAN public release. +pst-stru-doc.tex -------- +v. 1.00 2007-07-22 new documentation diff --git a/Master/texmf-dist/doc/generic/pst-stru/README b/Master/texmf-dist/doc/generic/pst-stru/README index dc991ce8c14..3792e6b01dd 100644 --- a/Master/texmf-dist/doc/generic/pst-stru/README +++ b/Master/texmf-dist/doc/generic/pst-stru/README @@ -7,4 +7,4 @@ civil engineering analysis (beams, portals, archs, piles). It can be used either with TeX or LaTeX. Put the files pst-stru.sty|tex into an existing local -TEXMF tree and then run texhash to update the data base.
\ No newline at end of file +TEXMF tree and then run texhash to update the data base. diff --git a/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.bib b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.bib new file mode 100644 index 00000000000..9d26d653369 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.bib @@ -0,0 +1,78 @@ +%% -*-bibtex-*- +@STRING{tugboat = {TUGboat} } +@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} } + +@Book{companion, + author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo\ss}, + title = {The {\LaTeX} {G}raphics {C}ompanion}, + publisher = {{Addison-Wesley Publishing Company}}, + year = {2007}, + edition = {second}, + address = {Boston, Mass.} +} + +@Article{girou:01:, + author = {Denis Girou}, + title = {Pr\'esentation de {PST}ricks}, + journal = {Cahier {GUT}enberg}, + year = 1994, + volume = {16}, + month = apr, + pages = {21-70} +} + +@Article{girou:02:, + author = {{Timothy Van} Zandt and Denis Girou}, + title = {Inside {PST}ricks}, + journal = TUGboat, + year = 1994, + volume = {15}, + month = sep, + pages = {239-246} +} + +@Book{PostScript, + Author = {Kollock, Nikolai G.}, + Title = {Post{S}cript richtig eingesetzt: vom {K}onzept zum + praktischen {E}insatz}, + Publisher = {IWT}, + Address = {Vaterstetten}, + year = 1989, +} + +@Manual{pstricks, + Title = {PSTricks - {\PS} macros for generic {\TeX}}, + Author = {{Timothy Van} Zandt}, + Organization = {}, + Address = {\url{http://www.tug.org/application/PSTricks}}, + Note = {}, + year = 1993 +} + +@Manual{pst-coil, + Title = {\texttt{pst-coil}: Coils and zigzags}, + Author = {{Timothy Van} Zandt}, + Organization = {}, + Address = {\url{CTAN:graphics/pstricks/generic/}}, + Note = {}, + year = 1999 +} + +@Manual{multido, + Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition}, + Author = {{Timothy Van} Zandt}, + Organization = {}, + Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}}, + Note = {}, + year = 1997 +} + +@Book{PSTricks2, + author = {Herbert Vo\ss{}}, + title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, + edition = {forth}, + publisher = {DANTE -- Lehmanns}, + year = {2007}, + address = {Heidelberg/Hamburg} +} + diff --git a/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf Binary files differindex cde5d43f2ce..a81fd6587e3 100644 --- a/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf +++ b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex index a39c3ee151e..81327a6f870 100644 --- a/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex @@ -1,30 +1,70 @@ -\documentclass[11pt]{article} +\documentclass[english,11pt]{article} +% \usepackage[T1]{fontenc} \usepackage[latin9]{inputenc} -\usepackage[scaled]{luximono} -\usepackage[a4paper,tmargin=2cm,bmargin=1cm,includeheadfoot]{geometry} -\usepackage{fancyhdr,showexpl} -\usepackage{pstricks} -\usepackage{pst-stru} -\usepackage{fp-eval} - -\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} -\lhead{\texttt{pst-stru}}\rhead{A PSTricks package for structural schemes} -\pagestyle{fancy} +\listfiles +\usepackage[scaled=0.85]{luximono} +\usepackage{lmodern} +\usepackage{xspace} +\usepackage[bottom]{footmisc} +\usepackage{tabularx} +\usepackage{longtable} +\usepackage[NewCommands,NewParameters]{ragged2e} +\usepackage[dvipsnames]{pstricks} +\usepackage{pst-stru,multido,fp} +\definecolor{hellgelb}{rgb}{1,1,0.8} +% +\def\PST{{\texttt{PSTricks}}\xspace} +\def\PDF{{\texttt{PDF}}\xspace} +\def\pst{{\texttt{pstricks}}\xspace} +\def\PS{PostScript\xspace} +\newcommand*\CMD[1]{{\UrlFont\texttt{\textbackslash #1}}} +% +\def\tIndex#1{\index{#1@{\UrlFont\texttt{#1}}}} +\def\cIndex#1{\index{#1@\CMD{#1}}} +\def\pIndex#1{\index{Parameter@\textbf{Parameter}!{\UrlFont\texttt{#1}}}} +\def\ppIndex#1{\index{Parameter@\textbf{Parameter}!{#1}}} +\def\sIndex#1{\index{Syntax@\textbf{Syntax}!\CMD{#1}}} +\def\csIndex#1{\sIndex{#1}\cIndex{#1}} +\def\PIndex#1{\index{Paket@\textbf{Paket}!\texttt{#1}}} +\def\mIndex#1{\texttt{#1}\tIndex{#1}\pIndex{#1}} +% +\pretolerance=500 +\tolerance=1000 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 + +\usepackage{showexpl}% not a real PSTricks package +\usepackage{babel} +\usepackage{makeidx,luximono} +\makeindex +\usepackage[dvips,colorlinks,linktocpage]{hyperref} % PDF-support +% +\lstset{explpreset={numbers=left,numberstyle=\tiny,numbersep=.3em, + xleftmargin=1em,columns=flexible,language=PSTricks,keywordstyle=\small\ttfamily\bfseries, + moredelim=**[is][\bf\color{blue}]}, + pos=t,width=-99pt, + overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,basicstyle=\ttfamily\small} +% \begin{document} - -\title{\texttt{pst-stru}\\ A PSTricks package to draw structural schemes in -civil engineering analysis (beams, portals, archs, piles)\\ \normalsize ver. 0.11} +% +\title{\texttt{pst-stru}:\newline Structural schemes v0.12} \author{Giuseppe Matarazzo\thanks{% Thanks to Manuel Luque who inspired and initially supported this work.\newline Documentation revised by Herbert Voß\newline 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.}} -\date{\today} \maketitle + +\begin{abstract} +\texttt{pst-stru} is a PSTricks package to draw structural schemes in +civil engineering analysis (beams, portals, archs, piles). +\end{abstract} + \tableofcontents \clearpage @@ -34,23 +74,17 @@ in directory macros/latex/base/lppl.txt.}} \begin{LTXexample} \psset{arrowsize=0.8mm,arrowinset=0} \begin{pspicture}(-5,-1)(5,5) -\pnode(0,2.4) {OO} -\pnode(-4,0) {A} -\pnode(4,0) {B} -\node(A) -\node(B) -\psplot[linecolor=red,linewidth=2pt]{-4}{4}{x neg x mul 0.15 mul 2.4 add} -\rput{-39.8}(A){\hinge} -\rput{39.8}(B){\hinge} -\rput{0}(OO){\interhinge} -\rput{-5}(OO){\clockCouple} -\rput{5}(OO){\noclockCouple} -\rput(0,3.2){\Large M} - \pcline [offset=-7mm,linecolor=blue]{|-|}(-4,0)(0,0) - \lput*{:U}{\large 4.00 m} - \pcline [offset=-7mm,linecolor=blue]{|-|}(0,0)(4,0) - \lput*{:U}{\large 4.00 m} - \pcline [offset=0,linecolor=blue]{|-|}(-4.4,0)(-4.4,2.4) + \pnode(0,2.4){OO}\pnode(-4,0){A}\pnode(4,0){B} + \node(A)\node(B) + \psplot[linecolor=red,linewidth=2pt]{-4}{4}{x neg x mul 0.15 mul 2.4 add} + \rput{-39.8}(A){\hinge}\rput{39.8}(B){\hinge}\rput{0}(OO){\interhinge} + \rput{-5}(OO){\clockCouple}\rput{5}(OO){\noclockCouple} + \rput(0,3.2){\Large M} + \pcline [offset=-7mm,linecolor=blue]{|-|}(-4,0)(0,0) + \lput*{:U}{\large 4.00 m} + \pcline[offset=-7mm,linecolor=blue]{|-|}(0,0)(4,0) + \lput*{:U}{\large 4.00 m} + \pcline[offset=0pt,linecolor=blue]{|-|}(-4.4,0)(-4.4,2.4) \lput*{:U}{2.40 m} \end{pspicture} \end{LTXexample} @@ -60,7 +94,7 @@ in directory macros/latex/base/lppl.txt.}} concentrated load P at the center line} \noindent -{\em Bernoulli's Equation}: $EJ\eta''=-M$ \\ +{\emph Bernoulli's Equation}: $EJ\eta''=-M$ \\ \noindent The {\bf elastic curve} of the assigned beam AB (P loaded at mid-span) is obtained by computing the Bending Moment of the auxiliary beam A'B' @@ -70,65 +104,50 @@ to which is applied the BM of AB (EJ=const) \quad \quad 0 \leq x \leq l/2 \] -\begin{LTXexample} -\begin{pspicture}[showgrid=true](-1,-2.4)(9,4.5) -\pnode(0,3){A} \pnode(8,3){B} -\pnode(0,0){A1} \pnode(8,0){B1} -\pnode(4,0){M} -\psline[linewidth=1.5pt](0,3)(8,3) % Beam AB -\psArrowCivil[RotArrows=0,length=1.5,start=0.5,% +\begin{LTXexample}[wide=true] +\begin{pspicture}(-1,-2.4)(9,4.5) + \pnode(0,3){A}\pnode(8,3){B}\pnode(0,0){A1}\pnode(8,0){B1}\pnode(4,0){M} + \psline[linewidth=1.5pt](0,3)(8,3) % Beam AB + \psArrowCivil[RotArrows=0,length=1.5,start=0.5,% linecolor=blue,arrowsize=1.8mm,OffsetLabel=0.2,linewidth=1pt](A)(B){\rput{90}{P}} -\rput{0}(A){\hinge} \rput{0}(B){\roller} -\psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(4,1)(8,0) -\rput(0,2){\Large A} \rput(8,2){\Large B} -%% 1st half load - \multido{\nStart=1.00+0.05}{-19}{% - \psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,% - linecolor=magenta](A1)(M){}} -%% 2nd half load - \multido{\nStart=1.00+0.05}{-19}{% - \psArrowCivil[RotArrows=180,length=\nStart,start=\nStart,% - linecolor=magenta](B1)(M){}} -\pcline[offset=0,linecolor=black]{<->}(4,0)(4,1) - \lput*{:R}{\bf d} -\rput(6,1){$d=P\frac{l}{2}$} -\rput(0,0.5){\Large A'} \rput(8,0.5){\Large B'} -\pcline[offset=0,linecolor=blue]{|-|}(0,-2)(8,-2) -\lput*{:U}{\bf $l$} -% Paramenters #1 P = 6 #2 l=8 #3 scale factor =0.02 -%----------- Elastic curve of beam AB ---------------------- -\def\ElasticAB#1#2#3{#1 16.0 div #2 #2 x mul mul mul + \rput{0}(A){\hinge} \rput{0}(B){\roller} + \psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(4,1)(8,0) + \rput(0,2){\Large A} \rput(8,2){\Large B} + %% 1st half load + \multido{\nStart=1.00+0.05}{-19}{% + \psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,linecolor=magenta](A1)(M){}} + %% 2nd half load + \multido{\nStart=1.00+0.05}{-19}{% + \psArrowCivil[RotArrows=180,length=\nStart,start=\nStart,linecolor=magenta](B1)(M){}} + \pcline{<->}(4,0)(4,1)\lput*{:R}{\bf d} + \rput(6,1){$d=P\frac{l}{2}$} \rput(0,0.5){\Large A'} \rput(8,0.5){\Large B'} + \pcline[linecolor=blue]{|-|}(0,-2)(8,-2)\lput*{:U}{\bf $l$} + % Paramenters #1 P = 6 #2 l=8 #3 scale factor =0.02 + %----------- Elastic curve of beam AB ---------------------- + \def\ElasticAB#1#2#3{#1 16.0 div #2 #2 x mul mul mul #1 -12.0 div x x x mul mul mul add #3 mul neg} -\pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=lightgray]{% - \psplot[]{0.0}{4.0}{\ElasticAB{6}{8}{0.02}} - \psline[](4,0)(0,0)} -\psline[linewidth=1.5pt](0,0)(8,0) % Beam A'B' + \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=lightgray]{% + \psplot[]{0.0}{4.0}{\ElasticAB{6}{8}{0.02}} + \psline(4,0)(0,0)} + \psline[linewidth=1.5pt](0,0)(8,0) % Beam A'B' \end{pspicture} \end{LTXexample} \clearpage \section{Antisymmetric distributed load} -\begin{LTXexample} -\begin{pspicture}(-3,-3)(4,3) -\pnode(0,1.5) {OO} -\pnode(1.5,1.5) {C} -\pnode(-1.5,1.5) {D} -\pnode(-1.5,0) {A} -\pnode(1.5,0) {B} -\node(A) -\node(B) -\psline[linecolor=red](A)(D)(C)(B) -\rput{0}(A){\hinge} -\rput{90}(B){\guide} -\psframe[fillstyle=solid,fillcolor=yellow](-1.5,1.5)(0,1.7) -\psframe[fillstyle=solid,fillcolor=yellow](0,1.3)(1.5,1.5) -\multido{\nStart=0.0+0.0833}{13}{% - \psArrowCivil[RotArrows=0,length=0.2,start=\nStart,% - linecolor=blue](D)(OO){} - \psArrowCivil[RotArrows=180,length=0.2,start=\nStart,% - linecolor=blue](OO)(C){}} -\rput{0}(OO){\interhinge} +\begin{LTXexample}[wide=true] +\begin{pspicture}(-3,-0.5)(4,2) + \pnode(0,1.5){OO}\pnode(1.5,1.5){C}\pnode(-1.5,1.5){D}\pnode(-1.5,0) {A}\pnode(1.5,0){B} + \node(A)\node(B) + \psline[linecolor=red](A)(D)(C)(B) + \rput{0}(A){\hinge}\rput{90}(B){\guide} + \psframe[fillstyle=solid,fillcolor=yellow](-1.5,1.5)(0,1.7) + \psframe[fillstyle=solid,fillcolor=yellow](0,1.3)(1.5,1.5) + \multido{\nStart=0.0+0.0833}{13}{% + \psArrowCivil[RotArrows=0,length=0.2,start=\nStart,linecolor=blue](D)(OO){} + \psArrowCivil[RotArrows=180,length=0.2,start=\nStart,linecolor=blue](OO)(C){}} + \rput{0}(OO){\interhinge} \end{pspicture} \end{LTXexample} @@ -161,12 +180,9 @@ to which is applied the BM of AB (EJ=const) \psline[linecolor=blue,arrowinset=0]{->}(E2)(E1)}} \begin{LTXexample} -\begin{pspicture}(-1,-2.5)(5,2) -\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] -\pnode(0,0) {A1} -\pnode(4,0) {B1} -\uput[180](A1){\Large A$_1$} -\uput[0](B1){\Large B$_1$} +\begin{pspicture}(-1,-1.5)(5,1) +\pnode(0,0){A1}\pnode(4,0){B1} +\uput[180](A1){\Large A$_1$}\uput[0](B1){\Large B$_1$} %----------------------------------------- % Parameters % #1 m = 0.5 y = mùx + n (1) @@ -174,8 +190,7 @@ to which is applied the BM of AB (EJ=const) %----------- line 1 ------- -------------------------- \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=yellow]{ \psplot[linecolor=blue]{0}{4}{\retta{0.5}{-1}} -\psline(B1)(A1)} -\rettaTeX{0.5}{-1} +\psline(B1)(A1)}\rettaTeX{0.5}{-1} \psline[linecolor=red,linewidth=1.5pt](A1)(B1) % Beam A1-B1 \end{pspicture} \end{LTXexample} @@ -183,8 +198,7 @@ to which is applied the BM of AB (EJ=const) \clearpage \section{Triangular load} \begin{LTXexample} -\begin{pspicture}(-1,-2.5)(5,2) -\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] +\begin{pspicture}(-1,-1)(5,1) %----------------------------------------- % Parameters % #1 m = 0.25 y = mùx + n (2) @@ -202,63 +216,31 @@ to which is applied the BM of AB (EJ=const) \end{pspicture} \end{LTXexample} -\clearpage -\section{Triangular load} \begin{LTXexample} -\begin{pspicture}(-1,-2.5)(5,2) -\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] +\begin{pspicture}(-1,-1)(5,1) %----------------------------------------- % Parameters % #1 m = -0.5 y = mùx + n (2) % #2 n = 1 %----------- line 2 ------- Triangular load -------------------------- -\pnode(0,0) {A3} -\pnode(4,0) {B3} -\uput[180](A3){\Large A$_3$} -\uput[0](B3){\Large B$_3$} -\pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ -\psplot[linecolor=blue]{0}{4}{\retta{-0.5}{1}} -\psline(B3)(A3)} -\rettaTeX{-0.5}{1} -\psline[linecolor=red,linewidth=1.5pt](A3)(B3) % Beam A3-B3 -\end{pspicture} -\end{LTXexample} - -\clearpage -\section{Antisymmetric load} -\begin{LTXexample} -\begin{pspicture}(-1,-2)(5,2) -\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] -\pnode(0,0) {A1} -\pnode(4,0) {B1} -\uput[180](A1){\Large A$_4$} -\uput[0](B1){\Large B$_4$} -%----------------------------------------- -% Parameters -% #1 m = -0.5 y = mùx + n (1) -% #2 n = 1 -%----------- line 1 ------- Antisymmetric load -------------------------- -\pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=yellow]{ -\psplot[linecolor=blue]{0}{4}{\retta{-0.5}{1}} -\psline(B1)(A1)} -\rettaTeX{-0.5}{1} -\psline[linecolor=red,linewidth=1.5pt](A1)(B1) % Beam A1-B1 + \pnode(0,0){A3}\pnode(4,0){B3} + \uput[180](A3){\Large A$_3$}\uput[0](B3){\Large B$_3$} + \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ + \psplot[linecolor=blue]{0}{4}{\retta{-0.5}{1}} + \psline(B3)(A3)}\rettaTeX{-0.5}{1} + \psline[linecolor=red,linewidth=1.5pt](A3)(B3) % Beam A3-B3 \end{pspicture} \end{LTXexample} \clearpage \section{Loads: Position and naming} -\begin{LTXexample} -\begin{pspicture}(-3,-3)(3,3) -\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] +\begin{LTXexample}[wide=true] +\begin{pspicture}(-3,-2.5)(3,2) % ------ KNOTS definition ----------- -\pnode(-2,0){A} \pnode(1.5,0){B} -\pnode(1.5,-1.5){E}\pnode(1.5,1.5){F} -\pnode(3,0){G} - \node(A) \node(E) \node(B) \node(F) \node(G) +\pnode(-2,0){A}\pnode(1.5,0){B}\pnode(1.5,-1.5){E}\pnode(1.5,1.5){F}\pnode(3,0){G} +\node(A) \node(E) \node(B) \node(F) \node(G) % ------ Structure drawing and fixed ends position ----------- - \psline[linecolor=red](A)(G) - \psline[linecolor=red](E)(F) + \psline[linecolor=red](A)(G) \psline[linecolor=red](E)(F) \rput{-90}(A){\fixedend} % left FE \rput{0}(E){\fixedend} % bottom FE \rput{-160}(F){\fixedend} % top FE @@ -271,14 +253,10 @@ to which is applied the BM of AB (EJ=const) \psArrowCivil[RotArrows=-200,length=1.0,start=0.47,% linecolor=blue,OffsetLabel=-0.3](A)(B){\rput{-70}{T}} % ------ Spans measures ----------- - \pcline [offset=-5mm]{|-|}(-2,-1.5)(1.5,-1.5) - \lput*{:U}{\scriptsize 3.50 m} - \pcline [offset=-5mm]{|-|}(1.5,-1.5)(3,-1.5) - \lput*{:U}{\scriptsize 1.50 m} - \pcline [offset=5mm]{|-|}(-2,-1.5)(-2,1.5) - \lput*{:U}{\scriptsize 3.00 m} - \pcline [offset=0mm]{|-|}(2,0)(2,1.5) - \lput*{:U}{\scriptsize 1.50 m} + \pcline [offset=-5mm]{|-|}(-2,-1.5)(1.5,-1.5)\lput*{:U}{\scriptsize 3.50 m} + \pcline [offset=-5mm]{|-|}(1.5,-1.5)(3,-1.5) \lput*{:U}{\scriptsize 1.50 m} + \pcline [offset=5mm]{|-|}(-2,-1.5)(-2,1.5) \lput*{:U}{\scriptsize 3.00 m} + \pcline [offset=0mm]{|-|}(2,0)(2,1.5) \lput*{:U}{\scriptsize 1.50 m} \end{pspicture} \end{LTXexample} @@ -286,62 +264,51 @@ to which is applied the BM of AB (EJ=const) \clearpage \section{Distributed load} -\begin{LTXexample} +\begin{LTXexample}[wide=true] \def\BMdistributed#1#2#3{#2 x sub 0.5 #1 x mul mul mul #3 mul} -\begin{pspicture}(-1,-2)(11,2) -\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] -\pnode(0,0) {A} -\pnode(10,0) {B} -\rput{0}(A){\hinge} -\rput{0}(B){\roller} -\rput(0,-1){\Large A} -\rput(10,-1){\Large B} -\psline[linecolor=blue](A)(B) +\begin{pspicture}(-1,-1.5)(11,2) + \pnode(0,0){A}\pnode(10,0) {B} + \rput{0}(A){\hinge}\rput{0}(B){\roller}\rput(0,-1){\Large A}\rput(10,-1){\Large B} + \psline[linecolor=blue](A)(B) %========================================================================== % Paramenters % #1 q = 12 % #2 l = 10 % #3 scale factor =0.01: to be multiplied by (10/l)^2 (when l<> 10) %----------- BM distributed load ---------------------- - \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ + \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ \psplot[linecolor=blue]{0}{10}{\BMdistributed{12}{10}{0.01}} \psline[](10,0)(0,0)} -\psset{arrowsize=1.5mm} - \multido{\nStart=0.0+0.2}{51}{% - \pnode(\nStart,0){E1} - \pnode(! /x \nStart\space def - x \BMdistributed{12}{10}{0.01}){E2} - \psline[linecolor=blue,arrowinset=0,arrowsize=1mm]{->}(E2)(E1)} + \psset{arrowsize=1.5mm} + \multido{\nStart=0.0+0.2}{51}{% + \pnode(\nStart,0){E1}\pnode(! /x \nStart\space def x \BMdistributed{12}{10}{0.01}){E2} + \psline[linecolor=blue,arrowinset=0,arrowsize=1mm]{->}(E2)(E1)} \end{pspicture} \end{LTXexample} -\psset{arrowsize=0.8mm,arrowinset=0} \clearpage +\psset{arrowsize=0.8mm,arrowinset=0} \section{Macro \texttt{\textbackslash triload}} \begin{LTXexample} -\begin{pspicture}[showgrid=true](-1,-4)(11,3) -% Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] -% ------------------------------------ - \triload[K=1,P=8,L=5] % k=1 -> AB=BC -% \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 -% \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure -% \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards -% ------------------------------------ +\begin{pspicture}(-1,-3.5)(11,3) + % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] + \triload[K=1,P=8,L=5] % k=1 -> AB=BC + % \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 + % \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure + % \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards \end{pspicture} \end{LTXexample} \begin{LTXexample} -\begin{pspicture}(-1,-6)(11,3) -% \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] - % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] -% ------------------------------------ -% \triload[K=1,P=8,L=5] % k=1 -> AB=BC - \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 -% \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure -% \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards -% ------------------------------------ +\begin{pspicture}(-1,-5.5)(11,2.5) + % \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] + % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] + % \triload[K=1,P=8,L=5] % k=1 -> AB=BC + \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 + % \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure + % \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards \end{pspicture} \end{LTXexample} @@ -375,25 +342,21 @@ to which is applied the BM of AB (EJ=const) \clearpage \section{Non-symmetric superimposed dead load} -\begin{LTXexample} -\begin{pspicture}(-3,-3)(3,3) -\pnode(-2,0){A} \pnode(2,0) {B} -\pnode(0,1.5){V} \pnode(-2,1.5) {A0} -\pnode(2,1.5){B0} -\node(A) \node(B) \node(V) -\psline[linecolor=red](A)(V)(B)(A) -\rput{0}(A){\hinge} \rput{0}(B){\roller} +\begin{LTXexample}[wide=true] +\begin{pspicture}(-3,-1)(3,2) + \pnode(-2,0){A}\pnode(2,0){B}\pnode(0,1.5){V}\pnode(-2,1.5) {A0}\pnode(2,1.5){B0} + \node(A)\node(B)\node(V) + \psline[linecolor=red](A)(V)(B)(A) + \rput{0}(A){\hinge} \rput{0}(B){\roller} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Non-symmetric superimposed dead load %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\psframe[fillstyle=solid,fillcolor=green](-2,1.5)(0,1.7) -\psframe[fillstyle=solid,fillcolor=yellow](2,0)(2.2,1.5) -\multido{\nStart=0.0+0.0833}{13}{% -\psArrowCivil[RotArrows=0,length=0.2,start=\nStart,% - linecolor=black](A0)(V){} -% Lateral load (i.e. wind) -\psArrowCivil[RotArrows=180,length=0.2,start=\nStart,% - linecolor=blue](B)(B0){}} + \psframe[fillstyle=solid,fillcolor=green](-2,1.5)(0,1.7) + \psframe[fillstyle=solid,fillcolor=yellow](2,0)(2.2,1.5) + \multido{\nStart=0.0+0.0833}{13}{% + \psArrowCivil[RotArrows=0,length=0.2,start=\nStart,linecolor=black](A0)(V){} + % Lateral load (i.e. wind) + \psArrowCivil[RotArrows=180,length=0.2,start=\nStart,linecolor=blue](B)(B0){}} \end{pspicture} \end{LTXexample} @@ -401,28 +364,23 @@ to which is applied the BM of AB (EJ=const) \clearpage \section{Distributed load for all beams} -\begin{LTXexample} -\begin{pspicture}(-1,-2)(13,2) -\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] -\pnode(0,0) {A} \pnode(12,0) {B} \pnode(12,0.4) {B1} - \node (A) - \rput(-0.5,0){\Large A} - \rput(12.5,0){\Large B} + +\begin{LTXexample}[wide=true] +\begin{pspicture}(-1,-1)(13,1) +\pnode(0,0){A}\pnode(12,0){B}\pnode(12,0.4){B1} + \node (A) \rput(-0.5,0){\Large A} \rput(12.5,0){\Large B} \psline[linecolor=blue,linewidth=1.5pt](A)(B) % join A-B %------------------------------------------------------------ \psframe[linecolor=blue,fillcolor=green,fillstyle=solid](A)(B1) % % distributed load for all beams -\multido{\nBegin=0+0.025}{41}{% -\psArrowCivil[RotArrows=0,length=0.4,start=\nBegin,% - linecolor=black](A)(B){}} + \multido{\nBegin=0+0.025}{41}{% + \psArrowCivil[RotArrows=0,length=0.4,start=\nBegin,linecolor=black](A)(B){}} % % recursive routine \multido{\rStart=0.00+3.00}{5}{% - \pnode(0,0){E1} - \pnode(\rStart,0){E2} - \rput{0}(E2){\hinge} - \psline[linecolor=blue,arrowinset=0,arrowsize=1mm]{o-o}(E1)(E2)} + \pnode(0,0){E1}\pnode(\rStart,0){E2}\rput{0}(E2){\hinge} + \psline[linecolor=blue,arrowinset=0,arrowsize=1mm]{o-o}(E1)(E2)} \end{pspicture} \end{LTXexample} @@ -431,8 +389,7 @@ to which is applied the BM of AB (EJ=const) \begin{center} \psset{xunit=0.5cm,yunit=0.5cm} % Scaling -\begin{pspicture}(-3,-2)(16,32) -\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] +\begin{pspicture}(-3,-1.5)(16,31) % ------ KNOTS definition ----------- \pnode(0,0) {A0}\pnode(5,0) {B0} \pnode(12,0) {C0} \node (A0) \node (B0) \node (C0) @@ -613,7 +570,7 @@ to which is applied the BM of AB (EJ=const) \psset{unit=1cm} % Scaling \clearpage -\section{Simple Beam with one overhang: TRIANGULAR distributed load p} +\section[Triangular distributed load p]{Simple Beam with one overhang: triangular distributed load p} \begin{LTXexample} \begin{pspicture}(-1,-3.5)(9,1.5) @@ -658,4 +615,20 @@ to which is applied the BM of AB (EJ=const) \end{LTXexample} + +\nocite{*} +\bgroup +\raggedright +\bibliographystyle{plain} +\bibliography{\jobname} +\egroup + +\printindex + + \end{document} + + + +\begin{LTXexample}[pos=t] +\end{LTXexample} diff --git a/Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex b/Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex index 1500a80ed77..ea4bcf05ccf 100644 --- a/Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex +++ b/Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex @@ -1,20 +1,13 @@ +%% BEGIN pst-stru.tex %% -%% This is file `pst-stru.tex', +%% This extension try to deals with wavelength in optics. +%% Beginning with spectra %% -%% IMPORTANT NOTICE: -%% -%% Package `pst-stru.tex' -%% -%% Authors : Giuseppe Matarazza <joematara@hotmail.com> -%% Manuel LUQUE <Mluque5130@aol.com> -%% Herbert Voss <voss@pstricks.de> (pst-xkey) +%% COPYRIGHT by Giuseppe Mattarazzo, Manuel Luque %% %% 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. -%% -%% DESCRIPTION: -%% `pst-stru' is a PSTricks package for civil engineers +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. %% \csname PSTCircLoaded\endcsname \let\PSTCircLoaded\endinput @@ -24,14 +17,14 @@ \ifx\PSTnodesLoaded\endinput\else\input pst-plot.tex\fi \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey\fi % -\def\fileversion{0.12}% -\def\filedate{2006/10/26}% -\message{`PST-Stru v\fileversion, \filedate\space (GM, ML)}% +\def\fileversion{0.13}% +\def\filedate{2015/10/08}% +\message{`PST-Stru v\fileversion, + \filedate\space (Giuseppe Matarazzo, Manuel Luque, hv)}% % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax \pst@addfams{pst-stru} % -\SpecialCoor \psset{dimen=middle} \newdimen\Start \newdimen\debut @@ -47,83 +40,81 @@ \psset{position=0.5,node=false,OffsetLabel=0.70,OffsetDipole=0,AngleLabel=0} %Commande permettant de placer un dipôle entre deux noeuds % -\def\circput{\@ifnextchar[{\pst@circput}{\pst@circput[]}} -\def\pst@circput[#1](#2)(#3)#4#5{{% -\psset{#1} -\Pst@Pos=\psk@circuit@Pos pt -\multiply\Pst@Pos by 2 -\def\Position{\pst@number\Pst@Pos} -\pst@getcoor{#2}\pst@tempa -\pst@getcoor{#3}\pst@tempb -\pnode(!% - /k \psk@circuit@Pos\space def - \pst@tempa /Y1 exch \pst@number\psyunit div def - /X1 exch \pst@number\psxunit div def - \pst@tempb /Y2 exch \pst@number\psyunit div def - /X2 exch \pst@number\psxunit div def - /XM X1 1 k sub mul X2 k mul add def - /YM Y1 1 k sub mul Y2 k mul add def - /deno X2 X1 sub def - /num Y2 Y1 sub def - /angle num deno Atan def - /XE1 XM 1 angle cos mul sub def - /YE1 YM 1 angle sin mul sub def - /XE2 XM 1 angle cos mul add def - /YE2 YM 1 angle sin mul add def - XM YM){M@} -\pnode(! XE1 YE1){E@1} -\pnode(! XE2 YE2){E@2} -\pcline(E@1)(#2) -\pcline(E@2)(#3) -\ncline[linestyle=none]{#2}{#3} -\ncput[npos=\Position]{\pnode{Temp}} -\pcline[linestyle=none,offset=\psk@Dipole@Offset](#2)(Temp) -\lput{:U}{#4} -\pcline[linestyle=none,offset=\psk@Label@Offset](#2)(Temp) -\lput{\psk@Angle@Label}{#5} - }} +\def\circput{\pst@object{circput}} +\def\circput@i(#1)(#2)#3#4{{% + \begin@SpecialObj + \Pst@Pos=\psk@circuit@Pos pt% + \multiply\Pst@Pos by 2 + \def\Position{\pst@number\Pst@Pos} + \pst@getcoor{#1}\pst@tempA + \pst@getcoor{#2}\pst@tempB + \pnode(!% + /k \psk@circuit@Pos\space def + \pst@tempA /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + \pst@tempB /Y2 exch \pst@number\psyunit div def + /X2 exch \pst@number\psxunit div def + /XM X1 1 k sub mul X2 k mul add def + /YM Y1 1 k sub mul Y2 k mul add def + /deno X2 X1 sub def + /num Y2 Y1 sub def + /angle num deno Atan def + /XE1 XM 1 angle cos mul sub def + /YE1 YM 1 angle sin mul sub def + /XE2 XM 1 angle cos mul add def + /YE2 YM 1 angle sin mul add def + XM YM){M@} + \pnode(! XE1 YE1){E@1} + \pnode(! XE2 YE2){E@2} + \pcline(E@1)(#2) + \pcline(E@2)(#3) + \ncline[linestyle=none]{#1}{#2} + \ncput[npos=\Position]{\pnode{Temp}} + \pcline[linestyle=none,offset=\psk@Dipole@Offset](#1)(Temp) + \lput{:U}{#3} + \pcline[linestyle=none,offset=\psk@Label@Offset](#1)(Temp) + \lput{\psk@Angle@Label}{#4} + \end@SpecialObj +}\ignorespaces} % Commande permettant de dessiner une flèche de longueur variable % entre deux noeuds \define@key[psset]{pst-stru}{length}{\edef\psk@circuit@Arrowlenght{#1}} \define@key[psset]{pst-stru}{start}{\edef\psk@circuit@start{#1}} \psset{length=1,start=0.5} % -\def\psArrow{\@ifnextchar[{\pst@Arrow}{\pst@Arrow[]}} -\def\pst@Arrow[#1](#2)(#3)#4{{% -\psset{#1} -\pst@getcoor{#2}\pst@tempa -\pst@getcoor{#3}\pst@tempb -\pnode(!% - /length \psk@circuit@Arrowlenght\space def +\def\psArrow{\pst@object{psArrow}} +\def\psArrow@i(#1)(#2)#3{{% + \begin@SpecialObj + \pst@getcoor{#1}\pst@tempA + \pst@getcoor{#2}\pst@tempB + \pnode(!% + /stru@length \psk@circuit@Arrowlenght\space def /K \psk@circuit@start\space def - \pst@tempa /Y1 exch \pst@number\psyunit div def + \pst@tempA /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def - \pst@tempb /Y2 exch \pst@number\psyunit div def + \pst@tempB /Y2 exch \pst@number\psyunit div def /X2 exch \pst@number\psxunit div def /XM X1 1 K sub mul X2 K mul add def /YM Y1 1 K sub mul Y2 K mul add def - \pst@tempa /Y1 exch \pst@number\psyunit div def + \pst@tempA /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def - \pst@tempb /Y2 exch \pst@number\psyunit div def + \pst@tempB /Y2 exch \pst@number\psyunit div def /X2 exch \pst@number\psxunit div def /Angle Y2 Y1 sub X2 X1 sub Atan def - /XE1 XM length Angle cos mul add def - /YE1 YM length Angle sin mul add def + /XE1 XM stru@length Angle cos mul add def + /YE1 YM stru@length Angle sin mul add def XE1 YE1){E@}% -\pnode(! XM YM){M@@} -\psset{arrows=->} -\psline[#1](M@@)(E@)% -\pcline[linestyle=none,offset=\psk@Label@Offset,arrows=-](M@@)(E@) -\lput{\psk@Angle@Label}{#4} -}} + \pnode(! XM YM){M@@} + \psset{arrows=->} + \psline(M@@)(E@)% + \pcline[linestyle=none,offset=\psk@Label@Offset,arrows=-](M@@)(E@) + \lput{\psk@Angle@Label}{#3} + \end@SpecialObj +}\ignorespaces} % -\def\node(#1){% -\pscircle*(#1){2\pslinewidth} -} -\def\arrow{% - \psline[arrowinset=0,arrowscale=1.0,linewidth=0.75\pslinewidth]{->}(-2,0)(0,0)% - } +\def\node(#1){\pscircle*(#1){2\pslinewidth}} +\def\arrow{\psline[arrowinset=0,arrowscale=1.0,linewidth=0.75\pslinewidth]{->}(-2,0)(0,0)} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Structural Engineering: MACROs % Updating: @@ -138,26 +129,21 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\fixedend{% \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.5,0)(0.5,-0.2) - \psline[linewidth=1.5\pslinewidth](-0.5,0)(0.5,0) - } + \psline[linewidth=1.5\pslinewidth](-0.5,0)(0.5,0)} \def\hinge{% \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,-0.45)(0.3,-0.3) \psline[linewidth=1.5\pslinewidth](-0.3,-0.3)(0.3,-0.3) \psline(0,0)(-0.3,-0.3) - \psline(0,0)(0.3,-0.3) - } + \psline(0,0)(0.3,-0.3)} -\def\interhinge{% - \pscircle[fillstyle=solid](0,0){0.1} - } +\def\interhinge{\pscircle[fillstyle=solid](0,0){0.1}} \def\guide{% \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,-0.3)(0.3,-0.1) \psline[linewidth=1.5\pslinewidth](-0.3,-0.1)(0.3,-0.1) \psline[linewidth=1.5\pslinewidth](-0.3,0.1)(0.3,0.1) - \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,0.3)(0.3,0.1) - } + \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,0.3)(0.3,0.1)} \def\roller{% \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,-0.7)(0.3,-0.5) @@ -166,58 +152,56 @@ \psline(0,0)(0.3,-0.3) \psline(-0.3,-0.5)(0.3,-0.5) \pscircle(-0.15,-0.4){0.1} - \pscircle(0.15,-0.4){0.1} - } + \pscircle(0.15,-0.4){0.1}} \def\noclockCouple{% \psset{arrowsize=1.8mm} - \psarc{->}(0,0){0.5}{280}{60} - } + \psarc{->}(0,0){0.5}{280}{60}} \def\clockCouple{% \psset{arrowsize=1.8mm} - \psarc{<-}(0,0){0.5}{120}{260} - } + \psarc{<-}(0,0){0.5}{120}{260}} %% Macro \psArrowCivil %% =================== -\define@key[psset]{pst-stru}{RotArrows}{\edef\psk@circ@RotArrows{#1}} +\define@key[psset]{pst-stru}{RotArrows}{\def\psk@circ@RotArrows{#1}} \psset{RotArrows=0} -\def\psArrowCivil{\@ifnextchar[{\pst@ArrowCivil}{\pst@ArrowCivil[]}} - -\def\pst@ArrowCivil[#1](#2)(#3)#4{{% -\psset{#1} -\pst@getcoor{#2}\pst@tempa -\pst@getcoor{#3}\pst@tempb -\pnode(!% - /length \psk@circuit@Arrowlenght\space def - /K \psk@circuit@start\space def - \pst@tempa /Y1 exch \pst@number\psyunit div def +\def\psArrowCivil{\pst@object{psArrowCivil}} +\def\psArrowCivil@i(#1)(#2)#3{% +% \begin@SpecialObj + \begingroup + \use@par + \pst@getcoor{#1}\pst@stru@tempA + \pst@getcoor{#2}\pst@stru@tempB + \pnode(! + /stru@length \psk@circuit@Arrowlenght\space def + /stru@K \psk@circuit@start\space def + \pst@stru@tempA /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def - \pst@tempb /Y2 exch \pst@number\psyunit div def + \pst@stru@tempB /Y2 exch \pst@number\psyunit div def /X2 exch \pst@number\psxunit div def - /XM X1 1 K sub mul X2 K mul add def - /YM Y1 1 K sub mul Y2 K mul add def - \pst@tempa /Y1 exch \pst@number\psyunit div def + /stru@XM X1 1 stru@K sub mul X2 stru@K mul add def + /stru@YM Y1 1 stru@K sub mul Y2 stru@K mul add def + \pst@stru@tempA /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def - \pst@tempb /Y2 exch \pst@number\psyunit div def + \pst@stru@tempB /Y2 exch \pst@number\psyunit div def /X2 exch \pst@number\psxunit div def - /Angle Y2 Y1 sub X2 X1 sub Atan def - /RotArrows 180 90 \psk@circ@RotArrows\space add Angle add sub def - /XC XM length RotArrows cos mul sub def - /YC YM length RotArrows sin mul add def + /stru@Angle Y2 Y1 sub X2 X1 sub Atan def + /RotArrows 180 90 \psk@circ@RotArrows\space add stru@Angle add sub def + /XC stru@XM stru@length RotArrows cos mul sub def + /YC stru@YM stru@length RotArrows sin mul add def XC YC){C@}% -\pnode(! XM YM){M@@} -\psset{arrows=->} -\psline[#1](C@)(M@@)% -\pcline[linestyle=none,offset=\psk@Label@Offset,arrows=-](C@)(M@@) -%\lput{\psk@Angle@Label}{#4} -\lput{:U}{#4} -}} + \pnode(! stru@XM stru@YM){M@@} + \psset{arrows=->} + \psline(C@)(M@@)% + \pcline[linestyle=none,offset=\psk@Label@Offset,arrows=-](C@)(M@@) + %\lput{\psk@Angle@Label}{#3} + \lput{:U}{#3} +% \end@SpecialObj + \endgroup + \ignorespaces} %% -%% End: Macro \psArrowCivil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %% Starting Macro \triload %% ======================= % @@ -226,45 +210,43 @@ \define@key[psset]{pst-stru}{P}{\edef\psk@triload@P{#1}} \define@key[psset]{pst-stru}{scaleFactor}{\edef\psk@triload@F{#1}} \psset{K=3,L=6,P=6,scaleFactor=0.15} -\def\triload{\@ifnextchar[{\pst@triload}{\pst@triload[]}} -\def\pst@triload[#1]{{% -\psset{#1} -\pnode(0,0){A} -\pnode(! /xB \psk@triload@L\space \psk@triload@K\space mul def xB 0){B} -\pnode(! /xC \psk@triload@K\space 1 add \psk@triload@L\space mul def xC 0){C} % -\pnode(! /xB1 \psk@triload@L\space \psk@triload@K\space mul def xB1 -1){B1} -\pnode(! /xC1 \psk@triload@K\space 1 add \psk@triload@L\space mul def xC1 -1){C1} +\def\triload{\pst@object{triload}} +\def\triload@i{{% + \begin@SpecialObj + \pnode(0,0){A} + \pnode(! /xB \psk@triload@L\space \psk@triload@K\space mul def xB 0){B} + \pnode(! /xC \psk@triload@K\space 1 add \psk@triload@L\space mul def xC 0){C} % -\pnode(! /xB2 \psk@triload@L\space \psk@triload@K\space mul def xB2 -3){B2} -\pnode(! /xC2 \psk@triload@K\space 1 add \psk@triload@L\space mul def xC2 -3){C2} + \pnode(! /xB1 \psk@triload@L\space \psk@triload@K\space mul def xB1 -1){B1} + \pnode(! /xC1 \psk@triload@K\space 1 add \psk@triload@L\space mul def xC1 -1){C1} % -\pnode(! /xC3 \psk@triload@K\space 1 add \psk@triload@L\space mul 0.25 add def xC3 0.5){C3} + \pnode(! /xB2 \psk@triload@L\space \psk@triload@K\space mul def xB2 -3){B2} + \pnode(! /xC2 \psk@triload@K\space 1 add \psk@triload@L\space mul def xC2 -3){C2} % -\rput{0}(C){\hinge} -\rput{0}(B){\roller} -\psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(!xC 0)(! xC 1)(0,0) + \pnode(! /xC3 \psk@triload@K\space 1 add \psk@triload@L\space mul 0.25 add def xC3 0.5){C3} % + \rput{0}(C){\hinge} + \rput{0}(B){\roller} + \psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(!xC 0)(! xC 1)(0,0) % \rput(1,-2){$k=\psk@triload@K\space \quad l=\psk@triload@L\space$} - \rput(C3){\Large p} - \rput(0,-0.4){\Large A} \rput(B1){\Large B} \rput(C1){\Large C} % -\pcline[offset=0,linecolor=blue]{|-|}(0,-3)(B2) -\lput*{:U}{\bf $k\cdot l$} -\pcline[offset=0,linecolor=blue]{|-|}(B2)(C2) -\lput*{:U}{\bf $l$} + \pcline[offset=0,linecolor=blue]{|-|}(0,-3)(B2) + \lput*{:U}{\bf $k\cdot l$} + \pcline[offset=0,linecolor=blue]{|-|}(B2)(C2) + \lput*{:U}{\bf $l$} % --------- Triangular Distributed Load ------------------------- -\multido{\nStart=1.00+0.025}{-37}{% -\psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,% - linecolor=magenta](A)(C){}} + \multido{\nStart=1.000+0.025}{-37}{% + \psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,linecolor=magenta](A)(C){}% + } % définir les fonctions ici -\pnode(! /func1 {\psk@triload@K\space 1 add \psk@triload@P\space exch div + \pnode(! /func1 {\psk@triload@K\space 1 add \psk@triload@P\space exch div -6.0 div \psk@triload@L\space div x mul x mul x mul \psk@triload@F\space mul neg} def /func2 {\psk@triload@K\space 1 add \psk@triload@P\space exch div @@ -286,29 +268,25 @@ 0 0){Temp} %----------- Bending Moment in span AB ---------------------- -\pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{ -\psplot{0}{xB}{func1} -\psline(B)(A)} + \pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{ + \psplot{0}{xB}{func1} + \psline(B)(A)} %----------- Shear in span AB ---------------------- -\pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{ + \pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{ \psplot{0}{xB}{func2} \psline(B)(A)} % -% ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -% -% ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -% %----------- Bending Moment in span BC ---------------------- -\pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{ -\psplot{xB}{xC}{func3} -\psline(C)(B)} + \pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{ + \psplot{xB}{xC}{func3} + \psline(C)(B)} %----------- Shear in span BC ---------------------- - \pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{ - \psplot{xB}{xC}{func4} - -% Closing Shear diagram in bearing B (right side) - \psline(C)(B)(! xB /x xB def func4)} -}} + \pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{ + \psplot{xB}{xC}{func4} + % Closing Shear diagram in bearing B (right side) + \psline(C)(B)(! xB /x xB def func4)} + \end@SpecialObj +}\ignorespaces} \catcode`\@=\PstAtCode\relax %% %% End: Macro \triload %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty b/Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty index 7efee09646b..1c24c31af0e 100644 --- a/Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty +++ b/Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty @@ -1,6 +1,6 @@ \RequirePackage{pstricks} \RequirePackage{multido} -\ProvidesPackage{pst-stru}[2006/10/25 package wrapper for +\ProvidesPackage{pst-stru}[2005/11/09 package wrapper for pst-stru.tex (hv)] \input{pst-stru.tex} \ProvidesFile{pst-stru.tex} |