Wednesday, November 23, 2005

Adding to table of contents ( LaTeX)

Starred versions of the sectioning commands are not added to the table of contents by default, but they can be added using:

\addcontentsline{file}{type}{text}
file
This should be the extension of the file where the contents are written. So this will be toc for the table of contents, lof for the list of figures and lot for the list of tables.

type
This is the type of object you are adding to the contents. e.g. chapter, section, figure.

text
This is the text that should go in the contents.

For example, the bibliography is generated using a starred version of the \chapter command, so it doesn't get added to the table of contents. To add it to the table of contents, you can do

\addcontentsline{toc}{chapter}{\bibname}

The counter tocdepth controls the section level depth in the table of contents.

The report class file sets tocdepth to 2, which means that only the parts, chapters, sections and subsections will be entered into the table of contents. You can use \setcounter to change the value of tocdepth. For example, to also include the subsubsections, paragraphs and subparagraphs, do:

\setocounter{tocdepth}{5}

Wednesday, September 28, 2005

perl special variables ..ARGV

just had a reason to use $ARGV in a perl one liner


ARGV The special filehandle that iterates over command-line file-filenames
names in @ARGV. Usually written as the null filehandle in the
angle operator "<>". Note that currently "ARGV" only has its
magical effect within the "<>" operator; elsewhere it is just a
plain filehandle corresponding to the last file opened by "<>".
In particular, passing "\*ARGV" as a parameter to a function
that expects a filehandle may not cause your function to
automatically read the contents of all the files in @ARGV.


more perl special variables can be found in the perlvar manpage

Wednesday, August 24, 2005

Float spanning columns in LaTeX

Use figure* and table* to produce floats which spans across both the columns in a two column article

Monday, August 08, 2005

diff/patch

copied from http://kegel.com/academy/opensource.html

Making Patches

To create a patch, you run a program called diff, and save its output to a file. For instance, if the original source tree is in directory "foobar.old", and your new sources are in directory "foobar.new", the command
diff -Naur foobar.old foobar.new > blarg.patch
will create the file 'blarg.patch' containing your changes in 'unified context diff' format.

Using Patches

To use a patch -- that is, to automatically carry out the changes described in a patch file -- you run a program called patch. For instance, if you're trying to apply the patch 'blarg.patch' to a package called foobar-0.17, you might say
cd foobar-0.17; patch -p1 < ../blarg.patch
That would merge the changes from blarg.patch into your source tree. (The -p1 tells patch to ignore the first directory in filenames in the patch; that way a patch generated against the directory foobar-0.11 will still apply properly.)

Thursday, August 04, 2005

indentations

So, you can either get rid of GNU emacs, or change it to use saner
values. To do the latter, you can stick the following in your .emacs file:

(defun linux-c-mode ()
"C mode with adjusted defaults for use with the Linux kernel."
(interactive)
(c-mode)
(c-set-style "K&R")
(setq c-basic-offset 8))

use -kr and -i8 options with indent

(stands for "K&R, 8 character indents"). 

Spacing in Math Mode (LaTeX)

n a math environment, LaTeX ignores the spaces you type and puts in the spacing that it thinks is best. LaTeX formats mathematics the way it's done in mathematics texts. If you want different spacing, LaTeX provides the following four commands for use in math mode:

1. \; - a thick space

2. \: - a medium space

3. \, - a thin space

4. \! - a negative thin space

Wednesday, July 20, 2005

calculating average using perl

perl -lan -e 'BEGIN{$sum=0;$num = 0}' -e '$sum += $F[0]; $num++; END{$avg=$sum/$num;print "avg:$avg"}' data.dat

to find the average of the first column in a file

Monday, June 20, 2005

search in Emacs [ word under the cursor]

C-s C-w , appends the rest of the word under the cursor to the search pattern.

Tuesday, June 14, 2005

\[ or $$ instead of displaymath

You can use \[ math formula \] or $$math formula$$ instead of
\begin{displaymath}
math formula
\end{display math}

this is particularlty useful if you dont want to write small formula and don't want to break the paragraph to type it.

Monday, June 13, 2005

Redirections in Bash

command > filename 2>&1
directs both standard output and standard error to the file filename

command 2>&1 > filename
directs only the standard output to file, filename because the standard error was duplicated as standard output before the standard output was redirected

Sunday, June 12, 2005

setting page ranges while printing

`lp` allows you to give the page ranges to print ,

-P page-list
Specifies which pages to print in the document. The list can contain a list of numbers and ranges (#-#) separated by commas (e.g. 1,3-5,16).

Thursday, May 12, 2005

latex fullpage

\usepackage{fullpage} for efficient use of paper realestate

Monday, May 02, 2005

rectangle select in Emacs

Working with rows & columns (rectangles)

A "rectangle" is one or more columns of text in one or more rows. Commands are available to delete rectangles, fill them with spaces, or cut and paste them.

To delineate a rectangle for a command to work on, set a mark in the first row to the left of the first column (i.e., the top left of the rectangle).

Move the cursor to the last row, then to the right of the last column (i.e. the bottom right of the rectangle).

To delete the rectangle, type Esc-x delete-rectangle

To cut a rectangle, type Esc-x kill-rectangle

To paste a killed rectangle in a new location, move the cursor to wherever the rectangle is to go and type Esc-x yank-rectangle

To replace the contents of a rectangle with spaces, type Esc-x clear-rectangle

To fill the area of the rectangle with spaces and push the original rectangle right, type Esc-x open-rectangle

Thursday, April 28, 2005

script command

The script command is helpful to get a transcript of the commands you enter and the output displayed on the terminal.
You start by typing script filename ( in the absence of filename the default filename is typescript)

The script command ends when you exit the forked shell by typing control-d.
more info on man script ofcourse ;)

Wednesday, April 13, 2005

commandline arguments in perl

unlike C , in perl the first command line argument is ARGV[0] and not ARGV[1]
$#ARGV is the subscript of the last element of the @ARGV array

Monday, April 11, 2005

latex row height in tabular

\renewcommand\arraystretch{MyValue}% (MyValue=1.0 is for standard spacing)

Thursday, March 17, 2005

Common C++ error

error:ISO C++ forbids defining types within return type
error:return type specification for constructor invalid

This mainly happens when you forget to end the class declaration with a ';'