La Vita è Bella
Friday, January 05, 2007
Selective unlink script (to uninstall TeXLive)
In fact, to uninstall TeXLive should be very easy: "rm -Rf /usr/local/texlive", that's all.
But things are sometimes not so easy. If you've chosen to make symbolic links to your system path (/usr/bin) during the installation, like I had, then you have to unlink all the links TeXLive created.
It's hard to do that manually, so I wrote the following script. You just need to run it under your /usr/bin directory and it will unlink all links that pointed to /usr/local/texlive.
1 #!/bin/sh
2
3 tlprefix="^/usr/local/texlive/"
4
5 for file in *; do
6 if [ -L ${file} ]; then
7 link=`readlink ${file}`
8 tllink=`echo "${link}" | grep "${tlprefix}"`
9 if [ -n "${tllink}" ]; then
10 echo "going to unlink \"${file}\" that links to \"${link}\"..."
11 unlink ${file}
12 fi
13 fi
14 done
It unlinked 240 symbolic links from my /usr/bin directory, horrible! I'll never choose the "make symbolic links to your system path" option again during the installation of TeXLive.
tags: texlive, unlink, bash
23:59:57 by fishy - latex - Permanent Link
Sunday, October 02, 2005
Makefile for LATEX
Update:TeXLive doesn't have it, but it have a tool texi2dvi with the same function (at least it also support -b and -p parameters).
You don't know how many times you should run the command latex, so it's hard to write a Makefile for LATEX
But I've found texify today. It can automatically calls the commands needed including latex/pdflatex, bibtex, etc., with needed times, and ships with almost all tex distributions.
Here's an example for my "Makefile" file (Note: don't forget to define RMRF, ACROREAD & PREVIEW for your environment):
LATEX = texify PARAMS = -b DVIPDF = dvipdfmx MAINNAME = myarticle SRCS = $(MAINNAME).tex \ chapter1.tex \ chapter2.tex DVIFILE = $(MAINNAME).dvi PDFFILE = $(MAINNAME).pdf all: $(PDFFILE) $(PDFFILE): $(DVIFILE) $(DVIPDF) $(DVIFILE) $(DVIFILE): $(SRCS) $(LATEX) $(PARAMS) $(MAINNAME).tex preview: $(DVIFILE) $(PREVIEW) $(DVIFILE) read: $(PDFFILE) $(ACROREAD) $(PDFFILE) clean: $(RMRF) *.toc *.out *.aux *.log *.bak cleanall: clean $(RMRF) $(PDFFILE) $(DVIFILE) .PHONY: clean cleanall all
For pdflatex files, beamer slides for example, use texify -p, here's the Makefile:
LATEX = texify -p PARAMS = -b MAINNAME = myarticle SRCS = $(MAINNAME).tex \ chapter1.tex \ chapter2.tex PDFFILE = $(MAINNAME).pdf all: $(PDFFILE) $(PDFFILE): $(SRCS) $(LATEX) $(PARAMS) $(MAINNAME).tex read: $(PDFFILE) $(ACROREAD) $(PDFFILE) clean: $(RMRF) *.toc *.out *.aux *.log *.bak cleanall: clean $(RMRF) $(PDFFILE) $(DVIFILE) .PHONY: clean cleanall all
If you need gbk2uni for Chinese support, change the line
$(LATEX) $(PARAMS) $(MAINNAME).tex
into (Note: don't forget to define GBK2UNI):
$(LATEX) $(PARAMS) $(MAINNAME).tex $(GBK2UNI) $(MAINNAME).out $(LATEX) $(PARAMS) $(MAINNAME).tex
That's it!
tags: latex, makefile, texify
06:09:36 by fishy - latex - Permanent Link