|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on texinfo.
#
# 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/a/e/texinfo.e>
# or at <http://angg.twu.net/e/texinfo.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/>.
#
#######
# «.mailing-lists» (to "mailing-lists")
# «.generating-html» (to "generating-html")
# «.sample.info» (to "sample.info")
# «.shortsample.texi» (to "shortsample.texi")
# «.texinfo-mode» (to "texinfo-mode")
# «.menus» (to "menus")
# «.pinfo» (to "pinfo")
# «.eev.texi» (to "eev.texi")
# «.eetexi» (to "eetexi")
# «.eetexi-prelim» (to "eetexi-prelim")
# «.images» (to "images")
# «.texinfoizing-eev-article» (to "texinfoizing-eev-article")
# «.makeinfo» (to "makeinfo")
# «.texinfo-6.8» (to "texinfo-6.8")
# «.makeinfo-html» (to "makeinfo-html")
# «.rmsessays» (to "rmsessays")
# «.gendocs.sh» (to "gendocs.sh")
# «.texinfo-template» (to "texinfo-template")
# «.texi2html» (to "texi2html")
# «.texi2html» (to "texi2html")
# «.texinfo-deb-src» (to "texinfo-deb-src")
# «.texinfo-doc-nonfree-deb-src» (to "texinfo-doc-nonfree-deb-src")
# «.texinfo.lua» (to "texinfo.lua")
# «.hyphenation» (to "hyphenation")
# «.rcirc-manual» (to "rcirc-manual")
# «.dir-file» (to "dir-file")
# «.triggers» (to "triggers")
# «.no-info-dir-entry» (to "no-info-dir-entry")
# «.org-texinfo» (to "org-texinfo")
# «.node-names» (to "node-names")
# «.manual-name» (to "manual-name")
# «.texinfo-to-epub» (to "texinfo-to-epub")
# «.x-in-y-minutes» (to "x-in-y-minutes")
# «.tag-table» (to "tag-table")
# «.Info-directory-list» (to "Info-directory-list")
# (find-es "dpkg" "install-info")
# (find-es "lua" "lua.info")
# (find-es "expect" "expect.info")
# (find-status "texinfo")
# (find-vldifile "texinfo.list")
# (find-udfile "texinfo/")
# (find-texinode "")
# (find-status "texinfo-doc-nonfree")
# (find-vldifile "texinfo-doc-nonfree.list")
# (find-udfile "texinfo-doc-nonfree/")
# (find-ecvsfile "")
# (find-ecvsfile "omb" "makeinfo --force emacs.texi")
# (find-ecvsfile "man/")
# (find-ecvsfile "man/cl.texi")
# (find-ecvsfile "lispintro/")
# (find-ecvsfile "lispintro/emacs-lisp-intro.texi")
# (find-texinode "exampleindent")
@exampleindent 0
@exampleindent 5
#####
#
# mailing-lists
# 2021apr20
#
#####
# «mailing-lists» (to ".mailing-lists")
# https://lists.gnu.org/archive/html/bug-texinfo/
#####
#
# Generating HTML
# 2019mar02
#
#####
# «generating-html» (to ".generating-html")
# (find-texinode "Generating HTML")
# (find-texinode "HTML Splitting")
# (find-texinode "Invoking texi2any")
# (find-texinode "Invoking texi2any" "--html")
# (find-makenode "Top")
# (find-node "(make)Top")
# (find-sh "locate .texi")
# (find-gitemacsfile "doc/emacs/Makefile")
# (find-gitemacsfile "doc/emacs/Makefile" "emacs.html: ")
#####
#
# sample.info
# 2000aep05
#
#####
# «sample.info» (to ".sample.info")
# (find-texinode "Short Sample")
# (find-texinode "Short Sample Texinfo File")
# (find-fline "~/TEXINFO/sample.texi")
# (find-texinode "")
# (find-texinode "Command List")
# (find-texinode "Texinfo File Header")
# (find-texinode "Command List" "`@setfilename INFO-FILE-NAME'")
# (find-texinode "Command List" "`@settitle TITLE'")
# (find-texinode "Command List" "`@node NAME, NEXT, PREVIOUS, UP'")
# (find-texinode "Menus")
# (find-texinode "Command List" "`@chapter TITLE'")
# (find-texinode "Command List" "`@cindex ENTRY'")
# (find-texinode "Command List" "`@unnumbered TITLE'")
# (find-texinode "Command List" "`@printindex INDEX-NAME'")
# (find-texinode "Command List" "`@contents'")
# (find-texinode "Command List" "`@bye'")
#*
cd ~/TEXINFO/
cat > sample.texi <<'--%%--'
\input texinfo
@setfilename sample.info
@settitle Sample Document
@node Top, First Chapter, , (dir)
@menu
* First Chapter:: The first chapter is the
only chapter in this sample.
* Concept Index:: This index has two entries.
@end menu
@node First Chapter, Concept Index, Top, Top
@chapter First Chapter
@cindex Sample index entry
@node Concept Index, , First Chapter, Top
@unnumbered Concept Index
@printindex cp
@contents
@bye
--%%--
makeinfo sample.texi \
&& less sample.info
#*
# A way to test the effect of small changes in the texinfo code above:
# F3 it, then run "ee" in a vt; apply the small change, F3 it again,
# and run "ee" in another vt. Switch vts many times by hand to
# identify the differences visually.
# Seems that makeinfo ignores blank lines in the source (possible
# exception: the ones that indicate change of paragraph) but keeps the
# line breaks, at least in menus.
# (find-node "(~/TEXINFO/sample)Top")
# (find-fline "~/TEXINFO/sample.texi")
# (progn (find-fline "~/TEXINFO/sample.texi") (texinfo-show-structure))
# (find-texinode "Showing the Structure")
# (find-texinode "Nodes")
# (find-texinode "node" "one for each section,\nsubsection, and subsubsection")
#####
#
# shortsample.texi
# 2022jun11
#
#####
# «shortsample.texi» (to ".shortsample.texi")
# (find-angg "TEXINFO/shortsample.texi")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-fline "/tmp/texinfo/")
rm -Rv /tmp/texinfo/
mkdir /tmp/texinfo/
cd /tmp/texinfo/
cp -v ~/TEXINFO/shortsample.texi .
texi2any shortsample.texi
# (find-node "(/tmp/texinfo/shortsample)")
#####
#
# the texinfo mode for Emacs
# 2000sep05
#
#####
# «texinfo-mode» (to ".texinfo-mode")
# (find-texinode "node")
# (find-efile "textmodes/texinfo.el")
# (find-efile "textmodes/texnfo-upd.el")
# (find-efile "textmodes/texnfo-upd.el" "Buffer lacks ordinary `Top'")
#####
#
# Menus
# 2000sep05
#
#####
# «menus» (to ".menus")
# (find-texinode "Menus" "have no effect in printed manuals")
# (find-texinode "Less Cluttered Menu Entry")
# (find-texinode "Other Info Files" "* FIRST-ENTRY-NAME:(FILENAME)NODENAME.")
# (find-texinode "Other Info Files" "menu entries\nthat list only file names")
# (find-texinode "Menu Example" "Here is an example")
#####
#
# pinfo
# 2000sep06
#
#####
# «pinfo» (to ".pinfo")
# (find-status "pinfo")
# (find-vldifile "pinfo.list")
# (find-fline "/usr/doc/pinfo/")
# (find-fline "/etc/pinforc")
# (eeman "1 pinfo")
pinfo "(texinfo)node"
pinfo texinfo --node="node"
#Initial errors/warnings:
# Przemek's Info Viewer v0.5.9
# Security warning: Unable to get GID of group called: nobody
# Warning: could not find tag table
# Warning: tag table not found...
# Trying to create alternate tag table...
# (find-status "texinfo")
# (find-vldifile "texinfo.list")
# (find-fline "/usr/doc/texinfo/")
# (find-node "(texinfo)Top")
# (find-node "(texinfo)makeinfo options" "`--html'")
# (find-man "1 makeinfo")
# (find-man "1 texindex")
# (find-man "1 texi2dvi")
# (find-man "5 texinfo")
# (code-c-d "texi" "..." "texinfo")
# (find-texinode "")
# (find-texinode "Texinfo Mode")
# (find-texinode "Emacs Editing")
# (find-texinode "Showing the Structure")
# (find-hurdfile "doc/")
# (find-hurdfile "doc/hurd.texi")
# (find-texinode "Short Sample")
# (find-fline "~/TEXINFO/eev.texi")
@c The hyperlinks are seen as comments by all programming languages,
@c and they can point to places in manpages, Info pages and text and
@c HTML files; using them you can place pointers to all relevant
@c online sources of information inside the code.
@c (find-texinode "Sample Texinfo File")
@c (find-texinode "Beginning a File")
@c (find-texinode "Defining New Texinfo Commands")
@c (find-texinode "Invoking Macros")
@c (find-texinode "Creating an Info File")
@c (find-texinode "Menu Location")
@c (find-grubfile "docs/")
@c (find-grubfile "docs/grub.texi" "@top")
@c (find-texinode "makeinfo top")
@c (find-fline "sample.texi")
@c (find-es "texinfo")
@c (find-efile "textmodes/texinfo.el")
@c (find-efile "textmodes/texnfo-upd.el" "Buffer lacks ordinary `Top'")
@c (find-texinode "Inserting")
@c (find-texinode "Structuring" "of chapters, sections, subsections,")
@c (find-texinode "Updating Requirements")
@c (find-texinode "Updating Commands" "`M-x texinfo-master-menu'")
@c (find-texinode "Updating Commands" "`M-x texinfo-update-node'")
@c (find-texinode "Updating Commands" "`M-x texinfo-make-menu'")
@c (find-texinode "Updating Commands" "`M-x texinfo-every-node-update'")
@c (find-texinode "Updating Commands" "`M-x texinfo-all-menus-update'")
#####
#
# eev.texi
# 2000sep16
#
#####
# «eev.texi» (to ".eev.texi")
# (find-fline "~/TEXINFO/eev.texi")
#####
#
# texinfo source
# 2001mar03
#
#####
# (find-status "texinfo")
# (find-vldifile "texinfo.list")
# (find-fline "/usr/doc/texinfo/")
#*
pdsc $SDEBIAN/dists/potato/main/source/doc/texinfo_4.0-4.dsc
cd /usr/src/texinfo-4.0/
# debian/rules binary |& tee odrb
cd /usr/src/texinfo-4.0/
texi2dvi texinfo.txi |& tee ot
#*
xdvi /usr/src/texinfo-4.0/doc/texinfo.dvi &
#####
#
# html2texi
# 2001mar12
#
#####
# (find-shttpw3 "www.texinfo.org/")
#*
rm -Rv /usr/src/html2texi-0.1.2/
cd /usr/src/
tar -xvzf $S/http/www.uncg.edu/~wlestes/software/html2texi/html2texi-0.1.2.tar.gz
cd /usr/src/html2texi-0.1.2/
./configure |& tee oc
# Oops, make doesn't work!
make |& tee om
#*
# (code-c-d "h2texi" "/usr/src/html2texi-0.1.2/" "/usr/src/html2texi-0.1.2/html2texi")
# (find-h2texinode "")
cd /tmp/
@c (find-texinode "Multitable Column Widths")
@c @multitable {return} {break} {function} {while} {repeat}
@c @item @code{and} @tab @code{break} @tab @code{do} @tab @code{else} @tab @code{elseif}
@c @item @code{end} @tab @code{for} @tab @code{function} @tab @code{if} @tab @code{in}
@c @item @code{local} @tab @code{nil} @tab @code{not} @tab @code{or} @tab @code{repeat}
@c @item @code{return} @tab @code{then} @tab @code{until} @tab @code{while} @tab @code{foo}
@c @end multitable
# http://lists.debian.org/debian-mentors/2001/05/msg00253.html
From: Josip Rodin <joy@cibalia.gkvk.hr>
To: peter karlsson <peter@softwolves.pp.se>
Date: Sun, 20 May 2001 19:36:01 +0200
Cc: debian-mentors@lists.debian.org
Subject: Re: install-info
On Sun, May 20, 2001 at 04:40:08PM +0200, peter karlsson wrote:
> What does this error message mean?
>
> "No `START-INFO-DIR-ENTRY' and no `This file documents'.
> install-info: unable to determine description for `dir' entry - giving up"
Your info file should have something like this near the top:
INFO-DIR-SECTION Texinfo documentation system
START-INFO-DIR-ENTRY
* Info: (info). Documentation browsing system.
END-INFO-DIR-ENTRY
In Texinfo sources, you'd write that like this:
@dircategory Texinfo documentation system
@direntry
* Info: (info). Documentation browsing system.
@end direntry
It's either that or having to specify loads of command line options to
install-info.
#####
#
# eetexi - preliminary tests
# 2005jul26
#
#####
# «eetexi-prelim» (to ".eetexi-prelim")
# (find-es "texinfo" "sample.info" "cat > sample.texi")
#*
# (progn (eev-bounded) (find-sh ". $EE"))
rm -Rv /tmp/texi/
mkdir /tmp/texi/
cd /tmp/texi/
cat > ee.texi <<'--%%--'
\input texinfo
@setfilename ee.info
@settitle Temporary TeXinfo stuff
@c*
@c (eetexi-bounded)
@node Top, First Chapter, , (dir)
@menu
* First Chapter:: The only chapter.
@end menu
@node First Chapter, , Top, Top
@chapter First Chapter
@c*
@bye
--%%--
makeinfo ee.texi \
&& ls -l && cat ee.info
#*
#####
#
# eetexi
# 2005jul26
#
#####
# «eetexi» (to ".eetexi")
;;*
;; (ee-once (eeb-eval))
(defun eetexi (s &optional e)
(interactive "r")
(find-sh0 "rm -Rv /tmp/texi/; mkdir /tmp/texi/")
(ee-write s e "\\input texinfo
@setfilename ee.info
@settitle Temporary TeXinfo stuff\n" "\n@bye\n" "/tmp/texi/ee.texi")
(find-sh "cd /tmp/texi/ && makeinfo ee.texi && ls -l")
(find-fline "/tmp/texi/ee.info")
(find-node "(/tmp/texi/ee)Top"))
(eeb-define 'eetexi-bounded 'eetexi "\n@c*\n" nil t t)
;;*
@c*
@c (eetexi-bounded)
@c (find-texinode "Top")
@node Top, First Chapter, , (dir)
@menu
* First Chapter:: The only chapter.
@end menu
@node First Chapter, , Top, Top
@chapter First Chapter
@c*
#####
#
# images in .info files
# 2005jul26
#
#####
# «images» (to ".images")
# (find-node "(texinfo)Image Syntax")
# (find-sh "cd /usr/share/info/ && zgrep -a 'image src=' $(find *)")
# (find-sh "locate lilypond | grep info")
# (find-fline "/usr/share/info/lilypond/lilypond.info-1.gz")
# (find-fline "/usr/share/info/lilypond/lilypond.info-1.gz" "image src=")
# (find-node "(lilypond/lilypond-internals)Top")
# (find-node "(lilypond/lilypond)Top")
# (find-node "(lilypond/lilypond)Engraving")
#*
rm -Rv /tmp/foo/
mkdir /tmp/foo/
cd /tmp/foo/
cp -iv /usr/share/info/lilypond/* /tmp/foo/
cp -iv /usr/share/doc/lilypond/html/Documentation/user/out-www/*-flat-bw.png \
/tmp/foo/
#*
# (find-node "(/tmp/foo/lilypond)Top")
# (find-node "(/tmp/foo/lilypond)Engraving")
# (find-efile "info.el" "defun Info-select-node")
# (find-efile "info.el" "defun Info-select-node" "Info-display-images-node")
# (find-efile "info.el" "[broken image]")
#####
#
# about TeXinfo-izing the article about eev
# 2006jun28
#
#####
# «texinfoizing-eev-article» (to ".texinfoizing-eev-article")
# My message to the mailing list, and Karl's answer:
# http://lists.gnu.org/archive/html/bug-texinfo/2006-06/msg00048.html
# http://lists.gnu.org/archive/html/bug-texinfo/2006-06/msg00049.html
# (find-eevafile "")
# (find-node "(texinfo)Image Syntax")
#*
rm -Rv /tmp/eev-texi/
mkdir /tmp/eev-texi/
cd /tmp/eev-texi/
cat > eev.texi <<'--%%--'
\input texinfo
@setfilename eev.info
@settitle Sample Document
@node Top, First Chapter, , (dir)
@menu
* First Chapter:: The first chapter is the
only chapter in this sample.
* Concept Index:: This index has two entries.
@end menu
@node First Chapter, Concept Index, Top, Top
@chapter First Chapter
@cindex Sample index entry
@node Concept Index, , First Chapter, Top
@ifinfo
@set redstarchar *
@end ifinfo
@iftex
@c (find-eevfile "article/eev.tex" "\\myttbox{$\\bullet$}")
@c @def@myttbox#1{{@setbox0=@hbox{@texttt{a}}@hbox to @wd0{@hss#1@hss}}}
@c @catcode`*=13 @def*{@myttbox{$@bullet$}}
@set redstarchar @bullet{}
@end iftex
A red star: @value{redstarchar}.
Another one: *
@unnumbered Concept Index
@printindex cp
@contents
@bye
--%%--
makeinfo eev.texi \
&& texi2dvi eev.texi \
&& xdvi eev.dvi
# && less eev.info
#*
# (find-node "(texinfo)definfoenclose")
# (find-node "(texinfo)bullet")
# (find-eevfile "article/eev.tex" "\\myttbox{$\\bullet$}")
# (find-fline "/tmp/eev-texi/eev.texi" 30)
# (find-fline "/usr/bin/texi2dvi")
# (find-fline "/usr/share/texmf/tex/texinfo/texinfo.tex")
# (find-fline "/usr/share/texmf/tex/texinfo/texinfo.tex" "add-hook")
#####
#
# Free Software, Free Society (Selected Essays by RMS)
# 2007oct23
#
#####
# «rmsessays» (to ".rmsessays")
# (find-angg ".emacs.papers" "rmsessays")
# http://www.gnu.org/doc/book13.html
#*
rm -Rv ~/usrc/rms-essays/
cd ~/usrc/
tar -xvzf ~/tmp/rms-essays-cvs.tgz
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/rms-essays co rms-essays
cd ~/usrc/
tar -cvzf ~/tmp/rms-essays-cvs.tgz rms-essays/
cd ~/usrc/rms-essays/
#*
rm -Rv ~/usrc/rms-essays/
tar -C ~/usrc/ -xvzf ~/tmp/rms-essays-cvs.tgz
cd ~/usrc/rms-essays/
makeinfo rms-essays.texi |& tee omi
# How do I make an info version of the essays?
# (find-rmsessaysfile "")
# (find-rmsessaysfile "omi")
# (find-rmsessaysgrep "grep -nH -e 20th *.texi")
# (find-rmsessaysgrep "grep -nH -e unnumbered *")
dvipdf rms-essays.dvi
#*
# (find-rmsessaysfile "")
# (find-rmsessayspage 1)
#####
#
# gendocs.sh
# 2007nov11
#
#####
# «gendocs.sh» (to ".gendocs.sh")
# http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh
# Upstream:
# http://www.gnu.org/software/texinfo/
# http://ftp.gnu.org/gnu/texinfo/
# http://ftp.gnu.org/gnu/texinfo/texinfo-4.11.tar.gz
#*
rm -Rv ~/usrc/texinfo-4.11/
tar -C ~/usrc/ -xvzf \
$S/http/ftp.gnu.org/gnu/texinfo/texinfo-4.11.tar.gz
cd ~/usrc/texinfo-4.11/
#*
# (code-c-d "texinfo" "~/usrc/texinfo-4.11/")
# (find-texinfofile "")
#####
#
# a texinfo skeleton/template
# 2008mar02
#
#####
# «texinfo-template» (to ".texinfo-template")
# (find-eonfile "eon.texinfo")
#####
#
# texi2html
# 2007apr08
#
#####
# «texi2html» (to ".texi2html")
# (find-es "wget" "wget-flv-player")
# (code-c-d "wget" "~/usrc/wget/wget-1.10.2/")
# (find-wgetfile "")
# (find-wgetfile "doc/")
# (find-wgetfile "doc/Makefile")
# (find-wgetfile "doc/Makefile" "texi2html -expandinfo -split_chapter")
* (eepitch-shell)
rm -Rv /tmp/wgetdoc/
mkdir /tmp/wgetdoc/
cd /tmp/wgetdoc/
cp -v ~/usrc/wget/wget-1.10.2/doc/* /tmp/wgetdoc/
texi2html -expandinfo -split_chapter wget.texi
texi2html -expandinfo -split section wget.texi
# (find-fline "/tmp/wgetdoc/")
# (find-status "texi2html")
# (find-vldifile "texi2html.list")
# (find-udfile "texi2html/")
# (find-node "(texi2html)")
# (find-node "(texi2html)CustHTML")
# (find-node "(texi2html)OptionSplit")
# (find-node "(texi2html)OptionSubDir")
# http://www.mathematik.uni-kl.de/~obachman/Texi2html/
# http://texinfo.org/texi2html/
# ^ That page says: "As of version 4.0, the Texinfo distribution
# contains integrated support for HTML. That is, makeinfo will be able
# to output in that format. But does not (yet) have all the bells and
# whistles texi2html has accumulated over the years."
# But texi2html is old (2000) and its (most obvious) splitting methods
# create numbered pages, with names lik wget-nnn.html - and I want
# named pages, sectionname.html
#####
#
# texi2html
# 2008jun28
#
#####
# «texi2html» (to ".texi2html")
# (find-es "texinfo" "texi2html")
# (find-bashsrcfile "")
# (find-bashsrcfile "doc/")
# (find-bashsrcfile "doc/Makefile.in")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv /tmp/bashref/
mkdir /tmp/bashref/
cd /tmp/bashref/
cp -v /home/edrx/usrc/bash-3.1/doc/*.texi .
makeinfo --html bashref.texi
texi2html --split --node-files bashref.texi
# (find-fline "/tmp/bashref/")
# (find-fline "/tmp/bashref/bashref/")
# (find-bashnode "Copying This Manual")
# (find-man "texi2html")
# (find-man "texi2html")
# (find-status "texi2html")
# (find-vldifile "texi2html.list")
# (find-udfile "texi2html/")
# (find-node "(texi2html)Top")
# (find-node "(texi2html)Invoking texi2html")
# (find-node "(texi2html)Splitting output")
# (find-node "(texi2html)Output files" "`--node-files'")
# (find-node "(texi2html)Output files" "texi2html -split chapter")
# (find-node "(texi2html)Output files" "file names")
# (find-node "(texi2html)Indexop")
# (find-status "texinfo")
# (find-vldifile "texinfo.list")
# (find-udfile "texinfo/")
# (find-status "texinfo-doc-nonfree")
# (find-vldifile "texinfo-doc-nonfree.list")
# (find-udfile "texinfo-doc-nonfree/")
# (find-fline "/usr/share/doc/texinfo/html/")
#####
#
# makeinfo
# 2019jul12
#
#####
# «makeinfo» (to ".makeinfo")
# (find-texinode "Output Formats" "Info" "makeinfo")
# (find-texinode "makeinfo Advantages")
# (find-texinode "makeinfo in Emacs")
# (find-texinode "makeinfo Preferred")
# (find-man "1 makeinfo")
# (find-texinode "Reference Implementation")
# (find-texinode "Reference Implementation" "texi2any")
#####
#
# texinfo-6.8
# 2022aug18
#
#####
# «texinfo-6.8» (to ".texinfo-6.8")
# (find-es "apt" "install-from-sid")
# https://en.wikipedia.org/wiki/Texinfo
# https://git.savannah.gnu.org/cgit/texinfo.git
# https://git.savannah.gnu.org/cgit/texinfo.git/snapshot/texinfo-6.8.tar.gz
#####
#
# makeinfo --html
# 2007apr11 / 2021dec22
#
#####
# «makeinfo-html» (to ".makeinfo-html")
# (find-node "(texinfo)Generating HTML")
# See above.
* (eepitch-shell)
rm -Rv /tmp/wgetdoc/
mkdir /tmp/wgetdoc/
cd /tmp/wgetdoc/
cp -v ~/usrc/wget/wget-1.10.2/doc/* /tmp/wgetdoc/
texi2html -expandinfo -split_chapter wget.texi
texi2html -expandinfo -split section wget.texi
makeinfo --html wget.texi
# (find-fline "/tmp/wgetdoc/wget/")
# (find-node "(texinfo)makeinfo options")
# (find-node "(texinfo)makeinfo options" "\n`--html'")
# (find-node "(texinfo)HTML Splitting")
#####
#
# texinfo (from the debian sources)
# 2008jun28
#
#####
# «texinfo-deb-src» (to ".texinfo-deb-src")
# (find-angg ".emacs" "eepitch-makeinfo")
# http://ftp.debian.org/debian/pool/main/t/texinfo/
# http://ftp.debian.org/debian/pool/main/t/texinfo/texinfo_4.11.dfsg.1-4.dsc
# http://ftp.debian.org/debian/pool/main/t/texinfo/texinfo_4.11.dfsg.1-4.diff.gz
# http://ftp.debian.org/debian/pool/main/t/texinfo/texinfo_4.11.dfsg.1.orig.tar.gz
#*
rm -Rv ~/usrc/texinfo/
mkdir ~/usrc/texinfo/
cd $S/http/ftp.debian.org/debian/pool/main/t/texinfo/
cp -v texinfo_4.11.dfsg.1* ~/usrc/texinfo/
cd ~/usrc/texinfo/
dpkg-source -sn -x texinfo_4.11.dfsg.1-4.dsc
cd ~/usrc/texinfo/texinfo-4.11.dfsg.1/
dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb
#*
# (find-fline "~/usrc/texinfo/")
* (eepitch-shell)
cd ~/usrc/texinfo/
sudo dpkg -i *.deb
#*
# (code-c-d "texinfo" "~/usrc/texinfo/texinfo-4.11.dfsg.1/" "texinfo")
# (code-c-d "texi" "~/usrc/texinfo/texinfo-4.11.dfsg.1/" "texinfo")
# (find-texinfofile "")
# (find-texinfofile "makeinfo/")
# (find-texinode "Top")
* (eepitch-gdb-makeinfo)
* (eepitch-gdb-makeinfo-kill)
* (eepitch-gdb-makeinfo)
tbr main
run
n
#####
#
# texinfo-doc-nonfree (from the debian sources)
# 2008jun28
#
#####
# «texinfo-doc-nonfree-deb-src» (to ".texinfo-doc-nonfree-deb-src")
# (find-status "texinfo-doc-nonfree")
# (find-vldifile "texinfo-doc-nonfree.list")
# (find-udfile "texinfo-doc-nonfree/")
# http://ftp.de.debian.org/debian/pool/non-free/t/texinfo-doc-nonfree/
# http://ftp.de.debian.org/debian/pool/non-free/t/texinfo-doc-nonfree/texinfo-doc-nonfree_4.11-1.dsc
# http://ftp.de.debian.org/debian/pool/non-free/t/texinfo-doc-nonfree/texinfo-doc-nonfree_4.11-1.diff.gz
# http://ftp.de.debian.org/debian/pool/non-free/t/texinfo-doc-nonfree/texinfo-doc-nonfree_4.11.orig.tar.gz
#*
rm -Rv ~/usrc/texinfo-doc-nonfree/
mkdir ~/usrc/texinfo-doc-nonfree/
cd $S/http/ftp.de.debian.org/debian/pool/non-free/t/texinfo-doc-nonfree/
cp -v texinfo-doc-nonfree_4.11* ~/usrc/texinfo-doc-nonfree/
cd ~/usrc/texinfo-doc-nonfree/
dpkg-source -sn -x texinfo-doc-nonfree_4.11-1.dsc
cd ~/usrc/texinfo-doc-nonfree/texinfo-doc-nonfree-4.11/
dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb
#*
# (eev "apti texinfo-doc-nonfree")
# (find-fline "~/usrc/texinfo-doc-nonfree/")
* (eepitch-shell)
cd ~/usrc/texinfo-doc-nonfree/
sudo dpkg -i *.deb
#*
# (code-c-d "texinfodocnonfree" "~/usrc/texinfo-doc-nonfree/texinfo-doc-nonfree-4.11/")
# (find-texinfodocnonfreefile "")
# (find-texinfodocnonfreefile "texinfo.html/")
# (find-texinfodocnonfreefile "odb")
# (find-texinfodocnonfreefile "odb" "makeinfo --html texinfo.txi")
#####
#
# texinfo.lua
# 2008aug27
#
#####
# «texinfo.lua» (to ".texinfo.lua")
# (find-angg "LUA/texinfo.lua")
# (find-angg "TEXINFO/eev.texi")
# (find-angg "LUA/lua50init.lua" "ee_dofile")
# (find-texinode "Top")
# (find-texinode "Texinfo Mode")
# (find-texinode "Node Menu Illustration")
# (find-texinode "makeinfo Pointer Creation")
# (find-texinode "makeinfo Pointer Creation" "@chapter" "following" "@node")
# (find-texinode "Inserting" "C-c C-c n" "texinfo-insert-@node")
# (find-texinode "Command and Variable Index")
# (find-texinode "chapter")
# (find-fline "/tmp/tmp.texi")
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
ee_dofile "~/LUA/texinfo.lua" -- (find-angg "LUA/texinfo.lua")
pa()
sa()
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
ee_dofile "~/LUA/texinfo.lua" -- (find-angg "LUA/texinfo.lua")
depth = {}
TOP("", "", "This is the top node.")
CHAPTER("c1", "C1", "Chapter one.")
CHAPTER("c2", "C2", "Chapter two.")
SECTION("s21", "s21", "A section.")
SECTION("s22", "s22", "Another section.")
pa()
-- (find-es "lua5" "lpeg.Cmt")
loadlpeg()
Open = lpeg.S "{"
Close = lpeg.S "}"
Middlechar = 1 - lpeg.S "{}"
Middlechars = Middlechar^1
Middle = lpeg.P { (Middlechars + Open * lpeg.V(1) * Close)^0 }
Block = Open * Middle * Close
CBlock = Open * Middle:C() * Close
OptSpaces = lpeg.S " \t" ^0
SCBlock = OptSpaces * CBlock
SCBlock1 = SCBlock
SCBlock2 = SCBlock * SCBlock
SCBlock3 = SCBlock * SCBlock * SCBlock
SCBlock4 = SCBlock * SCBlock * SCBlock * SCBlock
OneArg = SCBlock * lpeg.Cp()
TwoArgs = SCBlock * SCBlock * lpeg.Cp()
ThreeArgs = SCBlock * SCBlock * SCBlock * lpeg.Cp()
FourArgs = SCBlock * SCBlock * SCBlock * SCBlock * lpeg.Cp()
argthing = function (ArgPat, subj, pos, f, default)
local T = { ArgPat:match(subj, pos) }
local newpos = T[#T]
assert(newpos, "No args!")
T[#T] = nil
if #T == 0 and default then return newpos, default end
return newpos, f(unpack(T))
end
g = function (a, b) return "<"..a.."><"..b..">" end -- for tests
--[[
= argthing(TwoArgs, " { bli }{ blo } ploc", 1, print)
= argthing(TwoArgs, "_ { bli }{ blo } ploc", 1, print)
= argthing(TwoArgs, " { bli }{ blo } ploc", 1, g)
--]]
ALPHA = lpeg.R"AZ" + "_"
ALPHANUM = lpeg.R"AZ" + "_" + lpeg.R"09"
CmdName_ = ALPHA * ALPHANUM^0
CmdName = lpeg.P"@" * CmdName_:C()
Cmd = lpeg.P"@" * CmdName_:Cmt(function(subj, pos, cmdname)
print("hello")
if cmdname == "FOO" then return argthing(TwoArgs, subj, pos, g, "oo") end
if cmdname == "BAR" then return argthing(TwoArgs, subj, pos, print, "oo") end
end)
lpeg.testt = function (pat, str) PP(pat:Ct():match(str)) end
Cmd:test "@FOO { bii } { aaa } mm ppp"
Cmd:test "@BAR { bii } { aaa } mm ppp"
PP(Cmd:test "@BAR { bii } { aaa } mm ppp")
PP(Cmd:testt "@BAR { bii } { aaa } mm ppp")
-- (find-angg "LUA/lua50init.lua" "lpeg_gsub")
-- (find-angg "LUA/lua50init.lua" "lpeg_gsub" "Example:")
lpeg.togsub = lpeg_togsub
lpeg.gsub = lpeg_gsub
= Cmd:gsub("foo @FOO{a}{b} ccc", print)
-- Word = lpeg.R("AZ")^1 / function (s) return "<"..s..">" end
-- = Word:gsub("abFOOcdBAR", function (s) return "_"..s.."_" end)
-- --> "_ab_<FOO>_cd_<BAR>__"
-- (find-lpegw3m "lpeg.html#matchtime")
-- (find-lpegw3m "lpeg.html#func")
_TAP = {} -- texinfo: argparsing pattern
_TF = {} -- texinfo: function to run with the args
(lpeg.R"AZ" + lpeg.R"09"
= lpeg.R"AZ09"
local a, b, c, d, newpos = :match(subj, pos)
local T = { ArgPat:match(subj, pos) }
local newpos = T[#T]
if newpos == nil then error("No args
Cmd = lpeg.P "@" * Cmdname:Cmt(function(subj, pos, cmdname)
if cmdname == "one" then
local a, newpos = Onearg:match(subj, pos)
if newpos then return newpos, "<"..a..">" end
elseif cmdname == "two" then
local a, b, newpos = Twoargs:match(subj, pos)
if newpos then return newpos, "<"..a..">", "<"..b..">" end
end
end)
tofunction_ = function (sorf, where)
if type(sorf) == "function" then return f end
if type(sorf) == "string" then return (where or _G)[sorf] end
end
tofunction = function (sorf, where)
local f = tofunction_(sorf, where)
if not f then print("Not a function: ", sorf); error() end
return f
end
* (find-fline "/tmp/tmp.texi")
#####
#
# hyphenation for other languages
# 2008oct18
#
#####
# «hyphenation» (to ".hyphenation")
# http://lists.gnu.org/archive/html/bug-texinfo/2008-10/msg00000.html
# http://lists.gnu.org/archive/html/bug-texinfo/2008-10/msg00007.html
The basic trick is to process the texinfo file with `eplain'
instead of `tex'. With TeXLive, this gives access to all
configured hyphenation patterns. `bplain' would do the same, but
there is (currently) no soft link to the `tex' binary.
In txi-de.tex, add the following lines at the very beginning:
\makeatletter
\global\lefthyphenmin 2
\global\righthyphenmin 2
\global\language\l@ngerman
\makeatother
That's it. Add, for example, the following at the beginning of your
texinfo file:
@documentlanguage de
@documentencoding UTF-8
(...)
Sorry, my mistake. It works with etex too if you use this snippet
instead of the previous one:
\catcode`\@11\relax
\global\lefthyphenmin 2
\global\righthyphenmin 2
\global\language\lang@ngerman
\catcode`\@12\relax
#####
#
# rcirc manual
# 2008nov19
#
#####
# «rcirc-manual» (to ".rcirc-manual")
# (find-fline "~/bigsrc/emacs/doc/misc/rcirc.texi")
#*
rm -Rv /tmp/rcirc/
mkdir /tmp/rcirc/
cd ~/bigsrc/emacs/doc/misc/
cp -v rcirc.texi doclicense.texi /tmp/rcirc/
cd /tmp/rcirc/
mkdir html/
makeinfo -o html/ --html rcirc.texi
#*
# (find-node "(texinfo)makeinfo options")
# (find-node "(texinfo)makeinfo options" "\n`--html'")
# (find-node "(texinfo)makeinfo options" "\n`-o FILE'")
# (find-fline "/tmp/rcirc/")
# (find-w3m "/tmp/rcirc/html/index.html")
#####
#
# where is the dir file?
# 2011oct13
#
#####
# «dir-file» (to ".dir-file")
# (find-ecvsfile "")
# (find-ecvsfile "info/")
# (find-ecvsfile "info/dir")
# (find-ecvssh "find | sort | grep -i dir")
# (find-efile "" "info")
#####
#
# Processing triggers...
# 2011dec26
#
#####
# «triggers» (to ".triggers")
# (find-es "anatocc" "objdump")
# (find-vldifile "" "binutils-doc.list")
Processing triggers for install-info ...
install-info: warning: no info dir entry in `/usr/share/info/python2.5-lib.info.gz'
install-info: warning: no info dir entry in `/usr/share/info/python2.5-api.info.gz'
install-info: warning: no info dir entry in `/usr/share/info/latex2rtf.info.gz'
install-info: warning: no info dir entry in `/usr/share/info/ocaml.info.gz'
install-info: warning: no info dir entry in `/usr/share/info/python2.5-ref.info.gz'
Setting up binutils-doc (2.20.1-16) ...
#####
#
# install-info: warning: no info dir entry in...
# 2012may10
#
#####
# «no-info-dir-entry» (to ".no-info-dir-entry")
# "install-info: warning: no info dir entry in"...
# https://bugs.launchpad.net/ubuntu/+source/menu/+bug/391466
# http://wiki.debian.org/Transitions/DpkgToGnuInstallInfo
# http://us.generation-nt.com/answer/bug-609884-no-info-dir-entry-menu-info-help-201750032.html
#####
#
# org-texinfo
# 2012jul19
#
#####
# «org-texinfo» (to ".org-texinfo")
# (find-es "org" "org-texinfo")
# http://lists.gnu.org/archive/html/emacs-orgmode/2012-07/msg00572.html
#####
#
# Node names
# 2019jul12
#
#####
# «node-names» (to ".node-names")
# (find-node "(texinfo)Writing a Node")
# (find-texinode "Writing a Node")
# (find-texinode "Node Menu Illustration")
# (find-texinode "Referring to a Manual as a Whole")
#####
#
# The names - long, short, etc - of a manual
# 2019jul12
#
#####
# «manual-name» (to ".manual-name")
# (find-texinode "@settitle")
# (find-texinode "@setfilename")
# (find-gitemacsfile "doc/lispref/elisp.texi")
# (find-gitemacsfile "doc/lispref/elisp.texi" "@settitle GNU Emacs Lisp Reference Manual")
# (find-gitemacsfile "doc/lispref/elisp.texi" "This is the @cite{GNU Emacs Lisp Reference Manual}")
# (find-gitemacsfile "doc/lispref/elisp.texi" "@top Emacs Lisp")
# (find-elnode "Top")
# (find-elnode "Top" "Emacs Lisp")
#####
#
# texinfo-to-epub
# 2019dec24
#
#####
# «texinfo-to-epub» (to ".texinfo-to-epub")
# https://lists.gnu.org/archive/html/emacs-devel/2019-12/msg00614.html
# https://per.bothner.com/blog/2016/texinfo-roadmap/
# https://github.com/jlhg/texinfo2epub
# https://github.com/ikrukov/epub
# https://lists.gnu.org/archive/html/bug-texinfo/2018-07/msg00009.html
#####
#
# x-in-y-minutes
# 2022jun11
#
#####
# «x-in-y-minutes» (to ".x-in-y-minutes")
# https://learnxinyminutes.com/docs/texinfo/
# https://learnxinyminutes.com/docs/files/learntexinfo.texi
# (find-texinode "Reference Implementation")
# (find-man "texi2any")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-fline "/tmp/texinfo/")
# (find-fline "/tmp/texinfo/learntexinfo.texi")
rm -Rv /tmp/texinfo/
mkdir /tmp/texinfo/
cd /tmp/texinfo/
cp -v $S/https/learnxinyminutes.com/docs/files/learntexinfo.texi .
cat > version.texi <<'%%%'
%%%
texi2any learntexinfo.texi
texi2any sample.texi
# (find-fline "/tmp/texinfo/simple-document.texi")
# wget https://learnxinyminutes.com/docs/files/learntexinfo.texi
# mv -v learntexinfo.texi simple-document.texi
texi2any simple-document.texi
#####
#
# tag-table
# 2022jun22
#
#####
# «tag-table» (to ".tag-table")
# (find-es "maxima" "tag-table")
# (find-texinode "Info Format Tag Table")
# (find-texinode "@anchor")
# (find-maximagitfile "doc/info/Differentiation.texi" "@anchor{gradef}")
# (find-maximanode "intanalysis")
# (code-c-d "ulsi" "/usr/local/share/info/")
# (find-ulsifile "")
# (find-ulsigrep "grep --color=auto -nH --null -e intanalysis maxima*")
# (find-ulsifile "maxima.info" "Tag Table:")
# (find-efunctiondescr 'Info-find-in-tag-table)
# (find-efunction 'Info-find-in-tag-table)
# (find-efunctiondescr 'Info-find-node-2)
# (find-efunction 'Info-find-node-2)
# (find-egrep "grep --color=auto -nH --null -e 'tag table' info.el")
# (find-efile "info.el" " *info tag table*")
(let ((default-directory "/usr/share/info/"))
(grep "zgrep --color=auto -niH -e 'tag table' *")
)
(progn
(find-maximanode "intanalysis")
(find-ebuffer " *info tag table*")
)
(widen)
(goto-char Info-tag-table-marker)
#####
#
# Info-directory-list
# 2022oct01
#
#####
# «Info-directory-list» (to ".Info-directory-list")
# (find-fline "~/LOGS/2022oct01.emacs" "<bpalmer> ,infopath")
makeinfo --html bashref.texi
# 2007jun22:
# http://www.emacswiki.org/cgi-bin/wiki/JorgenSchaefersEmacsConfig
unhtml < $S/http/www.emacswiki.org/cgi-bin/wiki/JorgenSchaefersEmacsConfig > /tmp/.emacs-forcer.el
# (find-fline "/tmp/.emacs-forcer.el")
# (find-fline "/tmp/.emacs-forcer.el" "defun fc-insert-texinfo-skeleton")
# http://savannah.gnu.org/mail/?group=texinfo
# http://lists.gnu.org/archive/html/bug-texinfo/2007-08/msg00007.html
> And no one is going to read 'info info' until they find the
> reference to info-stnd in "Advanced Info Commands".
I don't know about "nobody". I think it's reasonable to have the
reference to info-stnd after explaining the basic commands and
features of the Info system. Of course, if someone is in a hurry,
they might not be patient enough to get there, but impatient people in
a hurry cannot be helped with documentation anyway, in my experience.
# Good CSS:
http://common-lisp.net/~loliveira/tmp/iterate-manual/html_node/Introduction.html
Single key navigation for texinfos HTML
http://lists.gnu.org/archive/html/bug-texinfo/2009-01/index.html
http://orgmode.org/worg/code/org-info-js/
2009jan20
https://lwn.net/Articles/625072/ Emacs and changing documentation formats
https://lists.gnu.org/archive/html/bug-gnu-emacs/2025-01/msg01353.html util/htmlxref.cnf in the Texinfo source tree
# Local Variables:
# coding: utf-8-unix
# End: