|
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: