A look at a *good* PBI install script from 2007.

In looking around my ~/Projects folder, I found an old PBI install script I wrote a couple years back. When I was working on a TexLive PBI (only me and Oko were interested), I wrote a very robust script. Most PBI that use install scripts should be nearly like this but normally, they only handle the GUI case and screw you if you use text mode or have special need.

This script was written to the published API at the time, which basically amounted to $INSTALLMODE being set to tell you if you were in a GUI or not; a variable to tell you what name your PBI would have inside /Programs. This was an improvement over using “$1” everywhere, as was required in previous versions of the PBI API.

Here is my old script:


# the year of this release, e.g. 2007, 2008 e.t.c. -> This should be equal to
# the Program Version we set in PBC.

# the size of all our installed files in $PBI_BASE/texlive/$YEAR/
TEXSIZE="1.1GB" # as a string

# compat check.. should be unecessary but I don't trust PC-BSD. Since users can
# now override our install location and documentation does not talk to us about
# coping with it not being /Programs/$PROGDIR/, abort install rather then risk
# performing undefined/undocumented behavior should /Programs/$PROGDIR be
# overrided.

if [ -d "/usr/Programs" ]; then
elif [ -d "/Programs" ]; then
elif [ -d "/usr/local/MyPrograms" ]; then
if [ $INSTALLMODE = "GUI" ]; then
kdialog --sorry "Can't find PBI Installation Directory... aborting"
echo "Can't find PBI Installation Directory... aborting"
exit 255

# set the path

# XXX check if we are already installed or improperly installed

if [ -d "$PBI_BASE/texlive/$YEAR" ]; then
if [ $INSTALLMODE = "GUI" ]; then
kdialog --sorry "$PROGDIR appears to be already installed, aborting"
echo "$PROGDIR appears to be already installed, aborting"
exit 255

# give the user a chance to abort the installation
if [ $INSTALLMODE = "GUI" ]; then
kdialog --warningyesno
"The installation requires approximatly $TEXSIZE of disk space Continue?"
if [ $? -gt 0 ]; then
exit 1
echo "The installation requires approximatly $TEXSIZE of disk space"
echo -n "Continue?[yes/no]"; read GO
echo $GO | grep -i "no"
if [ $? = 0 ]; then
exit 1

# Do installation
echo 'MSG: Setting up TeX Live directory'
mkdir -p $PBI_BASE/texlive/$YEAR

echo "MSG: Installing TeX Live files..."

# extract our texlive installation
cd /$PBI_BASE/texlive/$YEAR/ &&
lzma d texlive${YEAR}.tar.lzma -so | tar -xpf -

# prompt for a default paper size
if [ $INSTALLMODE = "GUI" ]; then
PAPER=`kdialog --combobox "Select default paper size"
"A4 Paper" "US Letter"`
echo -n "default paper size [A4 Paper, US Letter]: "; read PAPER

echo $PAPER | grep -i "Letter"
if [ $? -eq 0 ]; then
texconfig-sys paper letter

echo $PAPER | grep -i "A4"
if [ $? -eq 0 ]; then
texconfig-sys paper a4

echo "MSG: Updating TeX filename databases"
texconfig-sys rehash

if [ $INSTALLMODE = "GUI" ]; then
kdialog --yesno
"Congratulations! Installation complete -- test installation?"
if [ $? = 0 ];then
cd /tmp/
$MY_TEX_PATH/pdflatex sample2e.tex && kpdf /tmp/sample2e.pdf
if [ $? -gt 0 ]; then
kdialog --error
"The test may have failed to load, please report any errors: $?"
echo "MSG: Displaying readme file"
# I don't know a programa off hand to use for console output.

What is wrong with that script? Nothing compared to what is wrong with the PBI script API.

$PROGDIR should expand to /Programs/ProgNameVer instead of ProgNameVer.

The maintainer shouldn’t have to treat GUI and TEXT mode differently – the API should do it. In fact, that was the main impetus for the EPI spec creating platform independence. In an EPI, people would have said ask the user a question. Not have to understand shell script and massive toggles for GUI/TEXT mode install.

I believe PBI now also do similiar idiocy in regards to fonts handling that should be done at a higher level. However, according to the officially published documentation, my old script is still the correct way to go with a PBI.

One of the reasons I gave up on Kris Moores PBI, was the brain damaged design, the other reasons were the total miss management of PBI…

Under the draft spec’s I wrote for EPI, the above script would have become something like this:

# optional EPIL script for EPI

define question dialog with
title = "TextLive EPI"
message = "Please set a default paper size"
default = "A4 Paper"
options = ['A4 Paper', 'US Letter']
launch as paper_size

if paper_size == "A4 Paper" then do
execute "texconfig-sys paper a4"
execute "texconfig-sys paper letter

Now I ask you, if you were not a programmer, which one do you understand? Then let me ask you, if you just want to get on with your life, which would you rather write?

Both the PBI sh and EPI EPIL scripts would result in a simple dialog asking you to choose from one of two options. If you know how to use TexLive, the EPIL script would be totally unnecessary because you already know how to change paper sizes. That means you don’t even have to write a script at all in a normal case.

End result? Oh so simpler.

TexLive 2008 on FreeBSD

First download the ISO image, and compare the checksums (both md and sha based on avail); alternatively, buy the sucker on DVD :-).

Since I can’t afford a yearly DVD, and don’t have a spare disk; I need to unpack the ISO and mount it directly. If you bought the disk, mount it as normal. For me, this procedure required:

dixie# lzma d texlive2008-20080822.iso.lzma texlive2008-20080822.iso.lzma

LZMA 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19

dixie# mdconfig -a -v -t vnode -u 10 -f texlive2008-20080822.iso

dixie# mount -t cd9660 /dev/md10 /mnt

dixie# ls /mnt

.mkisofsrc index.html source

LICENSE.CTAN install-tl support

LICENSE.TL install-tl.bat texmf

README install-tl.bat.manifest texmf-dist

README.usergroups readme-html.dir texmf-doc

autorun.inf readme-txt.dir tl-portable

bin release-texlive.txt tl-portable.bat

doc.html rr_moved tlpkg

Now that the ISO is ready op, we can start the installation. TexLive uses a nice Perl based installer, if you’ve got the necessary TK GUI modules for Perl installed, you can use a a -gui switch; me, I’m fine with the perl script.

Obviously, you will need lang/perl5 installed, along with the necessary dependencies for programs shipped in TeXLive. I don’t know what release of FreeBSD i386, the binaries in TexLive 2007 were compiled against, but 2008 used FreeBSD 7:

Terry@dixie$ file /usr/local/texlive/2007/bin/i386-freebsd/pdftex          0:11
/usr/local/texlive/2007/bin/i386-freebsd/pdftex: ELF 32-bit LSB executable, Intel 80386,
version 1 (FreeBSD), dynamically linked (uses shared libs), stripped
Terry@dixie$ file /usr/local/texlive/2008/bin/i386-freebsd/pdftex 0:13
/usr/local/texlive/2008/bin/i386-freebsd/pdftex: ELF 32-bit LSB executable, Intel 80386,
version 1 (FreeBSD), for FreeBSD 7.0 (700055), dynamically linked (uses shared libs),
FreeBSD-style, stripped
Terry@dixie$ 0:13

Several of the programs used in TexLive are sh/cmd wrappers, but once installed, you can get a general idea of dependencies with the following command:

Terry@dixie$ ldd /usr/local/texlive/2008/bin/i386-freebsd/* 2>- | pgr      0:17

N.B. 2>- means to close the standard error stream, what you need to type, may vary depending on shell; 2>- works on Bourne style shells (ash/dash, bash, ksh, zsh). In the case of shell script wrappers, you’ll need to open them, and manually parse to find anything hidden; most people don’t need to do this.

For the most part, the depends are on the systems C and C++ libraries (libc, libm, libstdc++), a few require other things, such as ncurses, zlib, the new libthr, and gcc related stuff – all this comes with FreeBSD 7. Some programs require X-related libraries (such as MetaFont), fontconfig, and freetype. If you have a working install of X.Org 7.3, you will probably be fine, while disk space holds out lol. The need for handling #!/bin/sh and ‘#!/usr/bin/env perl’ are of course a prerequisite. On my X based system, everything is ready. Checking all this out, shouldn’t be necessary, and any “missing” perl modules or libraries can be installed later: when required.

Anyway, let’s get to actually installing this sucker:

dixie# cd /mnt; ./install-tl

Platform: i386-freebsd => 'Intel x86 with FreeBSD'

Distribution: live (uncompressed)

Directory for temporary files: '/tmp'

Installer directory: '.'

Loading /mnt/tlpkg/texlive.tlpdb

======================> TeX Live installation procedure <=====================

=======> Note: Letters/digits in indicate menu items <=======

=======> for commands or configurable options <=======

Detected platform: Intel x86 with FreeBSD

<B> binary systems: 1 out of 15

<S> Installation scheme (scheme-full)

83 collections out of 84, disk space required: 1720 MB

Customizing installation scheme:

<C> standard collections

<L> language collections

<D> directories:

TEXDIR (the main TeX directory):


TEXMFLOCAL (directory for site-wide local files):


TEXMFSYSVAR (directory for variable and automatically generated data):


TEXMFSYSCONFIG (directory for local config):


TEXMFHOME (directory for user-specific files):


<O> options:

[ ] use letter size instead of A4 by default

[X] create all format files

[X] install macro/font doc tree

[X] install macro/font source tree

[ ] create symlinks in standard directories

<V> set up for running from DVD

Other actions:

<I> start installation to hard disk

<H> help

<Q> quit

Enter command: i

Installing: [name of package]
.... repeated for each one, have fun waiting on z
running post install action for bin-texdoc

running post install action for bin-texlive

running post install action for texlive-cz

running post install action for texlive-de

running post install action for texlive-en

running post install action for texlive-fr

running post install action for texlive-pl

running post install action for texlive-ru

running post install action for texlive-zh-cn

running post install action for texlive.infra

running post install action for xetex

running mktexlsr /usr/local/texlive/2008/texmf-dist /usr/local/texlive/2008/texmf

mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R...

mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R...

mktexlsr: Done.

writing fmtutil.cnf data to /usr/local/texlive/2008/texmf-var/web2c/fmtutil.cnf

writing updmap.cfg to /usr/local/texlive/2008/texmf-var/web2c/updmap.cfg

writing language.dat data to /usr/local/texlive/2008/texmf-var/tex/generic/config/language.dat

writing language.def data to /usr/local/texlive/2008/texmf-var/tex/generic/config/language.def

running mktexlsr /usr/local/texlive/2008/texmf-var

mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R...

mktexlsr: Done.

running updmap-sys... done

re-running mktexlsr /usr/local/texlive/2008/texmf-var

mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R...

mktexlsr: Done.

pre-generating all format files (fmtutil-sys --all), be patient...done



for links to documentation. The TeX Live web site (http://tug.org/texlive/)

contains any updates and corrections.

TeX Live is a joint project of the TeX user groups around the world;

please consider supporting it by joining the group best for you. The

list of groups is available on the web at http://tug.org/usergroups.html.

Add /usr/local/texlive/2008/texmf/doc/man to MANPATH.

Add /usr/local/texlive/2008/texmf/doc/info to INFOPATH.

Most importantly, add /usr/local/texlive/2008/bin/i386-freebsd

to your PATH for current and future sessions.

Welcome to TeX Live!

./install-tl: done.

Logfile: /usr/local/texlive/2008/install-tl.log

After that completes, be it 10 minutes later or 10 hours, depending on your hardware…. If desired, one can customize the installation process. If the command prompt scares you, use install-tl -gui instead. You probably will want to setup your installation afterwords, the tlmgr program will be of use, and supports a -gui option I think. For me, all I do is set the default paper type, and update my environment so I can use TeXLive binaries, manuals, and info pages.

dixie# setenv PATH "/usr/local/texlive/2008/bin/i386-freebsd/:$PATH"
dixie# /usr/local/texlive/2008/bin/i386-freebsd/tlmgr paper a4

N.B. the default shell for root on FreeBSD is (t)csh. My interactive shells always sources ~/.site_shrc at the end of it’s setup, so this is where I set my environment, others would probably want ~/.bashrc or other shell specific file:

# TeX Live stuff
PATH="/usr/local/texlive/2008/bin/i386-freebsd:$PATH:/usr/games:/usr/local/bin:/usr/local/sbin:${HOME}/sh:${HOME}/bin"; export PATH
MANPATH="/usr/local/texlive/2008/texmf/doc/man:/usr/share/man:/usr/local/man:$MANPATH"; export MANPATH
INFOPATH="/usr/local/texlive/2008/texmf/doc/info:/usr/share/info:/usr/local/info:$INFOPATH"; export INFOPATH

and resource the file. As root, one can also add the manuals from TexLive to /etc/manpath.conf (read the comments in it), which will update the man commands search path, Updates to the environment can also be done to the various files in your skel system if desired, and mail existing users about the update. I’m not aware if there is a file to configure the info commands search path, probably is, but I don’t use info pages that often ^_^. I require each user account to adjust their own environment before using TexLive, which suits me fine. Once TexLive 2008 is ready op, and one is satisfied, /usr/local/texlive/2007 can be rm -rf’d, recovering around 1.1GB, depending on what you had installed. Also, my 2008 install is ~1.7GB. I generally opt-in to the defaults, but I expect many people would want to setup a more localized-only set of files. Now to clean up:

dixie# umount /mnt
dixie# mdconfig -d -u 10

Happy trails

The good news, I’ve got the first draft done on my report (yay!), the bad news is it is 0550Q and I’m less tired then I was at 1300Q loool. All that is less I guess is one or two more sections that I need to write.

One thing I really need to do is start organizing more of my common things into packages, I freaking love TeX :-).

Also good news is I’ve gotten auth for putting TeX Live PBI’s on their testing server so that means I can get cracking on field testing it here, then start trying to push it on to PBIDir.

With luck, tomorrow might be a SWAT4 Live Op so I’ll have time finish work on the site and get some more interesting work done too xD.

I was trained in Rvs, I took that route for the Selection Course and wouldn’t change that decision for any thing. But I do rather feel at home with SWAT4. I’ve been playing S4 since the beta and bought the game shortly after it came out. The thing I dislike about RvS is the door bugs, SWAT4.. Hey some suspects might draw faster then Jesse James but at least they eventually go down when you shoot them, can’t say the same for Raven Shields occasional super tangos dancing between bullets ^_^.

What pisses me off is I paid $50 for SWAT4, $30 for SWAT4:TSS and SWAT4:TSS although it is an expansion pack is implemented through the (very shitty compared to SWAT3s) mod system, which is probably the ONLY reason they ever released the SDK. Because the change in dev-teams meant a need for a quick way of hacking in the other 40% of the freaking game!

What a company…

days rumble

Well I’ve put a few thoughts through LaTeX and even discovered that at least the version in my MiKTeX install on WinXP, some times pdflatex.exe/latex.exe will have an endless loop rather then die with the normal error message if you accidentally delete the end{document} at the end of a doc ^_^

I think I’ll probably post the file tomorrow in the members forum, I zipped it with a simple password chosen at random. The question is will I remember what it is later rofl.

I like using tex/latex quite a lot so far, works much better then XHTML+CSS at giving decent output without *eventually* getting annoying to edit and maintain. I’ve been slowing building up a .sty file for things I use a lot so I don’t have to worry about finding the last document I did some thing to when I can’t remember a specific.

Probably will pass out in a few hours next to learning perl, glad I’m off work tomorrow… need some rest: Maybe I can even catch up with the 30++ messages in my in box haha!

I’ve done enough for the night, in the future Ineed to play around with the Linux ABI on my laptop and NFS. I have a FreeBSD 7 partition, I think I will see if I can use that to help fix the PC-BSD one… Either way it would probably take less then 2 hours to reinstall my laptop and restore files once I’ve got a set of PC-BSD v1.5 disks handy…Most of the time of course spent transferring and extracting files on low end hardware lool. NFS, I’ve always avoided and OpenBSD seems to use a different syntax for /etc/exports then I learned on Linux but as long as it works… SSHFS and SMB/CIFS seem to have failed me, the only remaining options I know available to me are NFS and AFS, nether of which I’ve had time to test fully yet. I guess that can wait for later.

*passes out*

Been learning a lot about TeX and LaTeX lately, my brain is like a sponge…

Some how I don’t think I’ll ever use a word processor again, TeX/LaTeX beats XHTML/CSS for working on content without getting in the way, and imho it automates more of the menial tasks better. I couldn’t stand getting proper printout with all the cross-word processor + cross-pc issues involved… So I eventually took to using XHTML instead, I’m fluent after all. I have a large rĂ©pertoire of computer languages to choose from, I just hate PHP…

I need to take some time to generate a PBI of TeX Live 2007, not much left to do before then and most of that can probably be sped up by scripting. For deployment though I’d rather like to split it into two packages, if the compression ratio is similar, should result including a ~250MB and ~300MB tar.lzma file (1 in each pbi) rather then a huge ~500mb one. As far as the documentation goes, there is not to much net savings to strip out languages, unless it really strips down to just English and made an English and ‘multinational’ docs module. For me, it would make sense to keep the ‘big ones’, English, Spanish, French, German, Italian, Russian, Japanese, and Chinese, in a standard install and doing that would be no real saving so far as I can tell.

Got a start for trying to get organized with the SSMs, they are basically a week behind me as far as being able to get things in sync but that’s unavoidable.. In the mean time I guess I should concentrate on the Sgts. I’m glad we have Blade and Noer a foot again they’re both dedicated workers, Blade well better late then never hehe.

The recent unpleasantness with ]SD[ on our SWAT servers is annoying me. I honestly don’t care if we ban every last one of them or shake their hand, there’s more important business I need to look after. I just follow orders, no more, no less. From where I sit, it is a Majors department to deal with it not an RSMs so I’d rather like to stay out of the hub bub. I’d also not have to cram any more forum posts into RAM between working hours.

The SOP Rewrites, I don’t think are going to progress any this week with both SSMs largely out of the loop until next week. Another large section is ready for SNCO Review, in the mean time I can try and look over the other stuff… Just a matter of free time.

I’ve now transitioned almost 3GB in all from my home directory over to the OpenBSD system working as a file server here: effectively fulfilling it’s purpose of integrating my home directory across my desktop and laptop. With some time to test out the permission settings, I may soon move my code directory there as well. With luck maybe I’ll have some time to *finally* get the bloody printer setup rather then sitting there gathering dust, good thing I rarely print.

I still need to organise my music files and rebuild all of my playlists but hey, at least my music folder is neat again. Life really would be a bit easier if I didn’t have to have most of my files available on both systems, to avoid having to boot my laptop to get to stuff. I’m tired of having to choose between booting my laptop, taring the files, scp’ing them over, and having to switch from desktop to laptop. I get 90% of my work done from my PC-BSD laptop yeah, but I like to work on the system I’m in the mood to use, not play chair-jockey.

And to top it all off my brain has been wandering off drastically lately, I suppose it beats being miserable though. I don’t really want to think that much about it right now, I’d never get any sleep other wise…

Found a music video of one of the songs that was on the last CD I bought. Which shows where my minds been drifting off to lool. Is it a wonder some friends wonder if I ever loop up from a compiler?

Works got to get done… How that effects the rest of my life, well..

Well, started about 0020 or some thing, now 0330 and I’ve got about 1GB of files installed…

Downloaded TeXLives DVD ISO and I’m nearing the end of a full install scheme to /usr/Programs/texlive/2007.

I dunno if it will work, even if I could get it to work in PBI format I’m not sure if I’d want to upload the mother but hey, it’s a shot !

So far all of the libs needed by the freebsd binaries seem to be found installed, that’s good.. The system is so freaking huge I’d probably need an army of TeX masters just to write unit tests to find out what works and doesn’t.

So far most of the bulk seems to be the omni-lingual nature

I expect that it will work as far as the tests outlighted in the TeXLive guide, probably build the various TeX documents I’ve got.. My Vi-User-HOWTO, my novel, new [SAS] Trooper Tryout SOP, a few sections of the SOP Rewrites, etc.

I also have a porting doc handy about the OpenBSD port written by the guy that seems to have done most of the work on OpenBSD.

First, I’ll try a PBI but I expect short of stripping it down to English only files or maybe even the big 6 that it’ll be to huge to move around easy. I want to see how I can compact this because there is about 1.1GB of files installed right now out of the 1.7GB of ISO which I unzipped from a 935MB Archive :-). Any way you slice it that is pretty freaking big to PBI… be it build, upload, or download lol.

If I can, I’d like to try a port for FreeBSD but assuming even the install I just did _works_, I’m not sure if I would like the best way of installing it from ports… We’ll see what happens.

Depending on how work’n or broke’n it is I suppose depends on how a port would work out.

 ===================> TeX Live installation procedure <==================

===> Note: Letters/digits in indicate menu items <===
===> for commands or configurable options <===

TeX Live can be used on multiple systems
as a separate subdirectory is used for each
installed binary package in /usr/Programs/texlive/2007/bin.

Preparing list of files to be installed...
Intel x86 with FreeBSD

Essential programs and files
Extra BibTeX styles
TeX auxiliary programs
ConTeXt format
Base documentation
Bulgarian documentation
Chinese documentation
Czechslovak documentation
Dutch documentation
English documentation
Finnish documentation
French documentation
German documentation
Greek documentation
Italian documentation
Japanese documentation
Korean documentation
Mongolian documentation
Polish documentation
Portuguese documentation
Russian documentation
Spanish documentation
Thai documentation
Turkish documentation
Ukrainian documentation
Vietnamese documentation
TeX font-related programs
Extra fonts
Recommended fonts
Extra formats
Games typesetting (chess, etc)
Miscellaneous extra generic macros
Miscellaneous generic macros
Graphics tools
LaTeX support for the humanities
Basic LaTeX packages
LaTeX3 packages
LaTeX supplementary packages
LaTeX recommended packages
Advanced math typesetting
MetaPost (and Metafont) drawing packages
Music typesetting
Packages for drawings graphics
Plain TeX supplementary packages
PSTricks packages
PostScript and Truetype utilities
Support for publishers
Typesetting for natural and computer sciences
GNU Texinfo
TrueType font manipulation
XeTeX macros

African scripts
Chinese, Japanese, Korean
Greek typesetting
Other hyphenation files
UK English

Now copying selected files
PKGONLY collection-basic collection-bibtexextra collection-binextra
collection-context collection-documentation-base
collection-documentation-bulgarian collection-documentation-chinese
collection-documentation-czechslovak collection-documentation-dutch
collection-documentation-english collection-documentation-finnish
collection-documentation-french collection-documentation-german
collection-documentation-greek collection-documentation-italian
collection-documentation-japanese collection-documentation-korean
collection-documentation-mongolian collection-documentation-polish
collection-documentation-portuguese collection-documentation-russian
collection-documentation-spanish collection-documentation-thai
collection-documentation-turkish collection-documentation-ukrainian
collection-documentation-vietnamese collection-fontbin collection-fontsextra
collection-fontsrecommended collection-formatsextra collection-games
collection-genericextra collection-genericrecommended collection-graphicstools
collection-htmlxml collection-humanities collection-langafrican
collection-langarab collection-langarmenian collection-langcjk
collection-langcroatian collection-langcyrillic collection-langczechslovak
collection-langdanish collection-langdutch collection-langfinnish
collection-langfrench collection-langgerman collection-langgreek
collection-langhebrew collection-langhungarian collection-langindic
collection-langitalian collection-langlatin collection-langmanju
collection-langmongolian collection-langnorwegian collection-langother
collection-langpolish collection-langportuguese collection-langspanish
collection-langswedish collection-langtibetan collection-langukenglish
collection-langvietnamese collection-latex collection-latex3 collection-latexextra
collection-latexrecommended collection-mathextra collection-metapost
collection-music collection-omega collection-pictures collection-plainextra
collection-pstricks collection-psutils collection-publishers collection-science
collection-texinfo collection-ttfutils collection-xetex

Done copying.
Testing for /usr/Programs/texlive/2007/bin/i386-freebsd/texconfig....
Making language.dat in /usr/Programs/texlive/2007/texmf-var/tex/generic/config
from your language selections...
Updating filename database with mktexlsr...
mktexlsr: Updating /usr/Programs/texlive/2007/texmf/ls-R...
mktexlsr: Updating /usr/Programs/texlive/2007/texmf-dist/ls-R...
mktexlsr: Updating /usr/Programs/texlive/2007/texmf-local/ls-R...
mktexlsr: Updating /usr/Programs/texlive/2007/texmf-var/ls-R...
mktexlsr: Done.
Doing post-install jobs from the packages...
... snip ...
Making map files for dvips, pdftex, dvipdfm with updmap...
Re-updating filename database with mktexlsr...
mktexlsr: Updating /usr/Programs/texlive/2007/texmf/ls-R...
mktexlsr: Updating /usr/Programs/texlive/2007/texmf-dist/ls-R...
mktexlsr: Updating /usr/Programs/texlive/2007/texmf-local/ls-R...
mktexlsr: Updating /usr/Programs/texlive/2007/texmf-var/ls-R...
mktexlsr: Done.

Installation is finished. (Wed Mar 26 03:43:06 EDT 2008)

Formats will be built for each user as needed. If you wish to install
all formats at once, for everyone on your system, run fmtutil-sys --all.

For future global configuration, edit files in /usr/Programs/texlive/2007/texmf-var
(or run texconfig or texconfig-sys).

Add /usr/Programs/texlive/2007/texmf/doc/man to MANPATH.
Add /usr/Programs/texlive/2007/texmf/doc/info to INFOPATH.
Most importantly, add /usr/Programs/texlive/2007/bin/i386-freebsd
to your PATH for current and future sessions.

See ./index.html for links to documentation.
The TeX Live web site (http://tug.org/texlive/)
contains any updates and corrections.

TeX Live is a joint project of the TeX user groups around the world;
please consider supporting it by joining the group best for you.
The list of groups is available on the web at

Welcome to TeX Live!

Cross ya fingers and hang on for a wild ride… ‘cuz here we go baby.

Holy glockomoly…. LaTeX makes XHTML look hard and that was a cake walk.

for the software,

pkg_add -r latex2e

Which of course fetches tex. Then I installed print/dvips via ports since there was no package on the mirror. Then I did a pkg_add -r of dvips2ascii because I’d like to setup my vimrc file for viewing files, since it already can handle pdf’s hehe.

So far the only bad thing that seems to come in mind about working directly in LaTeX is having to define label{} on elements that we want to ref{} later

latex handles the *.tex files written and makes the *.dvi, which dvips can turn into *.ps (PostScript), I think dvipdf requires dvips to work right not sure.

So essentially from LaTeX sources a lot of formats can be generated, while allowing a very easy writing experience in the comfort of ones favorite editing application.

ToDo: LaTeX

LaTeX: from quick and dirty to style and finesse

Small LaTeX Tutorial

Learning TeX was on my to do list many moons ago but more or less fail off the chopping block because when I ‘need’ printed files that go beyond pure text I’ll usually use Vim to write up a quick doc using (X)HTML and CSS. Because I’d rather write a web page for printing then use a word processor…. MS Word, SWriter, KWord, Abiword, bah humbug — piles of crap.

LaTeX shouldn’t be to bad a starting point, I’m not sure if there is much documentation left for plain ol’TeX yet (also on the todo list).

I did try Lyx in the last and even TeXmacs (which does not use TeX but can export to TeX/LaTeX)… But like WYSIWYG HTML Editors (Nvu, Dreamweaver e.t.c.) I ruled them out as paper weights.

When I tried to learn Vim, I refused to use the GUI (gvim) and used it in console mode only… Couldn’t even figure out how to save a file at first and I dumped it for XEmacs. Sure enough some day I went back and learned Vim, *my way* in console mode and it’s like my arm or a foot… not a crutche but a tool.

The difference between a tool and a crutch, is a tool helps you get work done. A crutch is an excuse not to learn how to do the work. Whether WYSIWYG programs become tools or crutches are a matter of the end users future.

So it is much the same that I would prefer to learn Tex / LaTeX through code not through ‘easy’ interfaces. I learned XHTML and CSS because I was bored one day and decided I’m sitting down and learning to write a web page, I just hit W3C and the road laid before me.