Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on pict2e, curve2e, and friends. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/pict2e.e> # or at <http://angg.twu.net/e/pict2e.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # «.dotemacs» (to "dotemacs") # «.manual» (to "manual") # «.manual-src» (to "manual-src") # «.picture-mode» (to "picture-mode") # «.picture-mode-source2e» (to "picture-mode-source2e") # «.pict2e-vector» (to "pict2e-vector") # «.linethickness» (to "linethickness") # «.vector-shape» (to "vector-shape") # «.cells» (to "cells") # «.xpicture» (to "xpicture") # (find-es "tex" "pict2e") ##### # # pict2e-related stuff in my .emacs* files # 2021aug09 # ##### # «dotemacs» (to ".dotemacs") # (find-angg ".emacs.papers" "pict2e") ##### # # manual # 2021aug09 # ##### # «manual» (to ".manual") # (find-angg ".emacs.papers" "pict2e") # (find-sh "locate pict2e") # (find-sh "locate pict2e | grep 2019") # (find-pict2epage 3 "\\usepackage") # (find-pict2etext 3 "\\usepackage") # (find-pict2epage 4 "of any thickness") # (find-pict2etext 4 "of any thickness") # (find-pict2epage 4 "\\oval [ rad ]") # (find-pict2etext 4 "\\oval [ rad ]") # (find-pict2epage 7 "2.3.4 Oval") # (find-pict2etext 7 "2.3.4 Oval") # (find-pict2epage 8 "2.4 Extensions") # (find-pict2etext 8 "2.4 Extensions") # (find-pict2etext 8 "2.4 Extensions" "\\polyline") # (find-pict2epage 9 "\\circlearc") # (find-pict2etext 9 "\\circlearc") # (find-pict2epage 9 "2.4.1 Circle arcs") # (find-pict2etext 9 "2.4.1 Circle arcs") # (find-pict2epage 9 "\\Line( X1,Y1 )( X2,Y2 )") # (find-pict2etext 9 "\\Line( X1,Y1 )( X2,Y2 )") # (find-pict2epage 9 "\\polyline( X1,Y1 )( X2,Y2 ). . . ( Xn,Yn )") # (find-pict2etext 9 "\\polyline( X1,Y1 )( X2,Y2 ). . . ( Xn,Yn )") # (find-pict2epage 9 "\\polygon( X1,Y1 )( X2,Y2 ). . . ( Xn,Yn )") # (find-pict2etext 9 "\\polygon( X1,Y1 )( X2,Y2 ). . . ( Xn,Yn )") # (find-pict2epage 9 "\\polygon*( X1,Y1 )( X2,Y2 ). . . ( Xn,Yn )") # (find-pict2etext 9 "\\polygon*( X1,Y1 )( X2,Y2 ). . . ( Xn,Yn )") ##### # # Downloading and compiling the source of the manual of pict2 # 2021aug09 # ##### # «manual-src» (to ".manual-src") # https://ctan.org/pkg/pict2e?lang=en # https://ctan.org/tex-archive/macros/latex/contrib/pict2e?lang=en # https://github.com/rolfn/pict2e # (find-git-links "https://github.com/rolfn/pict2e" "pict2es") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # rm -Rfv ~/usrc/pict2e/ cd ~/usrc/ git clone https://github.com/rolfn/pict2e cd ~/usrc/pict2e/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/usrc/pict2e/ git clean -dfx git reset --hard pdflatex pict2e.dtx pdflatex pict2e.dtx pdflatex pict2e.dtx # (code-c-d "pict2es" "~/usrc/pict2e/") # (code-pdf-page "pict2es" "~/usrc/pict2e/pict2e.pdf") # (code-pdf-text "pict2es" "~/usrc/pict2e/pict2e.pdf") # (find-pict2esfile "") # (find-pict2esfile "pict2e.dtx" "\\linethickness{2.6\\unitlength}") # (find-pict2espage) # (find-pict2estext) # (find-pict2espage 25 "Figure 10: Sketch of the path") # (find-pict2estext 25 "Figure 10: Sketch of the path") # (find-pict2esfile "pict2e.dtx" "Sketch of the path") ##### # # The original picture mode # 2021aug09 # ##### # «picture-mode» (to ".picture-mode") # (find-es "tex" "picture-mode") # (find-kopkadaly4page (+ 12 287) "13.1 The picture environment") # (find-kopkadaly4text (+ 12 287) "13.1 The picture environment") # (find-kopkadaly4page (+ 12 288) "\\begin{picture}(x dimen,y dimen)") # (find-kopkadaly4text (+ 12 288) "\\begin{picture}(x dimen,y dimen)") # (find-kopkadaly4page (+ 12 289) "\\put(x,y){pic elem}") # (find-kopkadaly4text (+ 12 289) "\\put(x,y){pic elem}") # (find-kopkadaly4page (+ 12 289) "\\multiput(x,y)(x,y){num}{pic elem}") # (find-kopkadaly4text (+ 12 289) "\\multiput(x,y)(x,y){num}{pic elem}") # (find-kopkadaly4page (+ 12 291) "\\makebox(x dimen,y dimen)[pos]{text}") # (find-kopkadaly4text (+ 12 291) "\\makebox(x dimen,y dimen)[pos]{text}") # (find-kopkadaly4page (+ 12 293) "\\line(x,y){length}") # (find-kopkadaly4text (+ 12 293) "\\line(x,y){length}") # (find-kopkadaly4page (+ 12 295) "\\vector(x,y){length}") # (find-kopkadaly4text (+ 12 295) "\\vector(x,y){length}") # (find-kopkadaly4page (+ 12 295) "\\circle{diameter}") # (find-kopkadaly4text (+ 12 295) "\\circle{diameter}") # (find-kopkadaly4page (+ 12 296) "\\oval(x dimen,y dimen)[part]") # (find-kopkadaly4text (+ 12 296) "\\oval(x dimen,y dimen)[part]") # (find-kopkadaly4page (+ 12 299) "\\qbezier[num](x1 ,y1 )(x2 ,y2 )(x3 ,y3 )") # (find-kopkadaly4text (+ 12 299) "\\qbezier[num](x1 ,y1 )(x2 ,y2 )(x3 ,y3 )") # (find-kopkadaly4page (+ 12 300) "Line thickness") # (find-kopkadaly4text (+ 12 300) "Line thickness") # (find-kopkadaly4page (+ 12 300) "\\newsavebox{\\sub pic name}") # (find-kopkadaly4text (+ 12 300) "\\newsavebox{\\sub pic name}") # (find-kopkadaly4page (+ 12 300) "\\savebox{\\sub pic name}(x dimen,y dimen)[pos]{sub pic}") # (find-kopkadaly4text (+ 12 300) "\\savebox{\\sub pic name}(x dimen,y dimen)[pos]{sub pic}") # (find-kopkadaly4page (+ 12 301) "13.1.6 Shifting a picture environment") # (find-kopkadaly4text (+ 12 301) "13.1.6 Shifting a picture environment") # (find-kopkadaly4page (+ 12 302) "\\begin{picture}(x dimen,y dimen)(x offset,y offset)") # (find-kopkadaly4text (+ 12 302) "\\begin{picture}(x dimen,y dimen)(x offset,y offset)") ##### # # The source code for picture mode (in source2e) # 2021aug09 # ##### # «picture-mode-source2e» (to ".picture-mode-source2e") # (find-fline "/usr/share/texmf/fonts/source/public/latex/") # (find-fline "/usr/share/texmf/fonts/source/public/latex/circle.mf") # (find-fline "/usr/share/texmf/fonts/source/public/latex/lcircle.mf") # (find-texbookpage (+ 11 389) "\\def\\point") # (find-texbooktext "\\def\\point") # (find-texbooktext) # (find-source2epage (+ 10 342) "58 Picture Mode") # (find-source2etext (+ 10 342) "58 Picture Mode") # (find-angg "LATEX/edrx.sty" "showboxdims") \bhbox{% \begin{picture}(8,5)(-3,-2) \Line(0,2)(0,0)(3,0) \end{picture}% } ##### # # My first attempts to implement vectors in picture and pict2e # 2021aug09 # ##### # «pict2e-vector» (to ".pict2e-vector") # From: (find-es "tex" "pict2e-vector") # (find-LATEX "edrxpict.lua" "pict2evector") # (find-kopkadaly4page (+ 12 295) "25 allowed slope pairs") # (find-kopkadaly4text (+ 12 295) "25 allowed slope pairs") # (find-kopkadaly4page (+ 12 295) "\\vector(x,y){length}") # (find-kopkadaly4text (+ 12 295) "\\vector(x,y){length}") # (find-pict2epage 4 "\\vector Slopes") # (find-pict2etext 4 "\\vector Slopes") # (find-pict2epage 4 "\\vector Slopes" "These restrictions are eliminated") # (find-pict2etext 4 "\\vector Slopes" "These restrictions are eliminated") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) pict2evector = function (x0, y0, x1, y1) local dx, dy = x1 - x0, y1 - y0 local f = function (dx, dy, len) return format("\\put(%.3f,%.3f){\\vector(%.3f,%.3f){%.3f}}", x0, y0, dx, dy, len) end if dx > 0 then return f(1, dy/dx, dx) end if dx < 0 then return f(-1, dy/dx, -dx) end if dx == 0 and dy > 1 then return f(0, 1, dy) end if dx == 0 and dy < 1 then return f(0, -1, -dy) end error() end = pict2evector(0, 0, 0, 5) = pict2evector(0, 0, 3, 4) = pict2evector(0, 0, 4, 3) = pict2evector(0, 0, 5, 0) = pict2evector(0, 0, 4, -3) = pict2evector(0, 0, 3, -4) = pict2evector(0, 0, 0, -5) = pict2evector(0, 0, -3, -4) = pict2evector(0, 0, -4, -3) = pict2evector(0, 0, -5, 0) = pict2evector(0, 0, -4, 3) = pict2evector(0, 0, -3, 4) \def\Vector(#1,#2)(#3,#4){\expr{pict2evector(#1, #2, #3, #4)}} \pu \begin{picture}(10,10) \Vector(0,0)(0,5) \Vector(0,0)(3,4) \Vector(0,0)(4,3) \Vector(0,0)(5,0) \Vector(0,0)(4,-3) \Vector(0,0)(3,-4) \Vector(0,0)(0,-5) \Vector(0,0)(-3,-4) \Vector(0,0)(-4,-3) \Vector(0,0)(-5,0) \Vector(0,0)(-4,3) \Vector(0,0)(-3,4) \end{picture}% ##### # # \linethickness # 2021aug09 # ##### # «linethickness» (to ".linethickness") # (find-pict2epage 5 "\\linethickness") # (find-pict2etext 5 "\\linethickness") # (find-es "pict2e" "manual-src") ##### # # vector-shape # 2023nov19 # ##### # «vector-shape» (to ".vector-shape") # (find-es "pict2e" "manual-src") # (find-pict2epage 6 "Figure 2: Vector") # (find-pict2etext 6 "Figure 2: Vector") # (find-pict2epage 7 "Figure 3: Vector: shape variants of the arrow-heads") # (find-pict2etext 7 "Figure 3: Vector: shape variants of the arrow-heads") # (find-pict2epage 14 "\\DeclareOption{ltxarrows}") # (find-pict2etext 14 "\\DeclareOption{ltxarrows}") # (find-pict2epage 14 "\\DeclareOption{pstarrows}") # (find-pict2etext 14 "\\DeclareOption{pstarrows}") # (find-pict2epage 25 "Figure 10: Sketch of the path drawn by the LATEX-like") # (find-pict2etext 25 "Figure 10: Sketch of the path drawn by the LATEX-like") # (find-pict2epage 26 "Figure 11: Sketch of the path drawn by the PSTricks-like") # (find-pict2etext 26 "Figure 11: Sketch of the path drawn by the PSTricks-like") # Figure 3: (find-pict2esfile "pict2e.dtx" "\\label{fig:vector:comparison}") ** (find-angg "LUA/Show2.lua" "texbody") ** (find-code-show2 "~/LATEX/Show2.tex") * (code-show2 "~/LATEX/Show2.tex") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) Path.prependtopath "~/LUA/?.lua" require "Pict3" p = Pict{[[ \put(1,1){\vector(1,0){1}} ]]} p = Pict{[[ \put(1,1){\vector(1,0){1}} ]]}:prethickness"2pt" = p = p:show0() = p:show0("pg") = p:show0("pg", {scale=2}) = p:show ("pg", {scale=2}) * (etv) ##### # # cells # 2023oct07 # ##### # «cells» (to ".cells") # (find-es "tex" "picture-cells") ##### # # xpicture # 2021aug09 # ##### # «xpicture» (to ".xpicture") # https://ctan.org/pkg/xpicture # (find-tlsh "find * | sort | grep xpicture") # (find-fline "/usr/local/texlive/2019/texmf-dist/doc/latex/xpicture/") # (code-pdf-page "xpicturedoc" "/usr/local/texlive/2019/texmf-dist/doc/latex/xpicture/xpicture-doc.pdf") # (code-pdf-text "xpicturedoc" "/usr/local/texlive/2019/texmf-dist/doc/latex/xpicture/xpicture-doc.pdf") # (code-pdf-page "xpicture" "/usr/local/texlive/2019/texmf-dist/doc/latex/xpicture/xpicture.pdf") # (code-pdf-text "xpicture" "/usr/local/texlive/2019/texmf-dist/doc/latex/xpicture/xpicture.pdf") # (find-xpicturedocpage) # (find-xpicturedoctext) # (find-xpicturepage) # (find-xpicturetext) # https://www.ctan.org/pkg/pict2e # https://www.ctan.org/pkg/diagmac2 # (find-fline "/usr/share/doc/texlive-doc/latex/pict2e/README") # (find-pdf-page "/usr/share/doc/texlive-doc/latex/pict2e/pict2e.pdf") # (find-pdf-page "/usr/share/doc/texlive-doc/latex/pict2e/p2e-drivers.pdf") # (find-fline "/usr/share/texlive/texmf-dist/tex/latex/pict2e/pict2e.cfg") # (find-fline "/usr/share/texlive/texmf-dist/tex/latex/pict2e/pict2e.sty") # Thickness: # https://en.wikibooks.org/wiki/LaTeX/Picture # Color: # http://tex.stackexchange.com/questions/174910/pict2e-doesnt-draw-filled-circles-at-specified-point # # (find-es "tex" "color-packages") # «pict2e-example» (to ".pict2e-example") % \setlength{\unitlength}{10pt} % \linethickness{0.075mm} % (find-es "tex" "pict2e") % (find-angg ".emacs.papers" "pict2e") %L foo = "\\polyline" %L for x=-4,4,0.1 do %L p = v(x, (math.sin(x)+1)*4) %L foo = foo..tostring(p) %L end \pu \def\PoQai{\vcenter{\hbox{\unitlength=10pt% \celllower=2.5pt% \def\cellfont{}% \begin{picture}(10,10)(-5,-1) \polygon(0,-1)(-5,4)(0,9)(5,4) % \polyline(0,-1)(-5,4)(0,9)(5,4) % \put(0,-1){\line(-1,1){5}} % \put(-5,4){\line(1,1){5}} % \put(0,9){\line(1,-1){5}} % \put(5,4){\line(-1,-1){5}} \put(0,8){\cell{?}} \put(-1,7){\cell{\cdot}} \put(1,7){\cell{\cdot}} \put(-2,6){\cell{\cdot}} \put(0,6){\cell{\cdot}} \put(2,6){\cell{\cdot}} \put(-3,5){\cell{\cdot}} \put(-1,5){\cell{(()}} \put(1,5){\cell{\cdot}} \put(3,5){\cell{(\!?\!)}} \put(-4,4){\cell{\cdot}} \put(-2,4){\cell{P}} \put(0,4){\cell{\cdot}} \put(2,4){\cell{\cdot}} \put(4,4){\cell{\cdot}} \put(-3,3){\cell{\cdot}} \put(-1,3){\cell{\cdot}} \put(1,3){\cell{Q}} \put(3,3){\cell{\cdot}} \put(-2,2){\cell{\cdot}} \put(0,2){\cell{(\&)}} \put(2,2){\cell{\cdot}} \put(-1,1){\cell{\cdot}} \put(1,1){\cell{\cdot}} \put(0,0){\cell{?}} \Line(0,1)(2,2) \put(0,3){\circle{1}} { \linethickness{0.2mm} \Line(0,2)(2,3) } \Line(0,3)(2,4) \put(0,3){\circle{0.8}} \put(0,3){\circle*{0.6}} \expr{foo} \end{picture}}}} $\PoQai$ https://tex.stackexchange.com/questions/473917/dashed-line-in-picture-environment https://ctan.math.illinois.edu/macros/latex/contrib/epic/picman.pdf https://ctan.org/tex-archive/macros/latex/contrib/bxeepic?lang=en https://ctan.math.washington.edu/tex-archive/macros/latex/contrib/curve2e/curve2e.pdf https://github.com/zr-tex8r/BXeepic # Local Variables: # coding: utf-8-unix # End: