Skip to main content

LaTeX: A typesetters Swiss Army Knife

LaTeX is a tool for typesetting virtually anything, be it book, article, letters or journal papers. LaTeX can even be used to take class notes, when your professor uses lots of complex mathematical formulae.

My association with LaTeX stated a few months ago when I was troubled with the irreproducibility of my articles. Microsoft Word or even Open Office have trouble with keeping up with the formatting of article.

Then I encountered LaTeX. It is such an amazing tool, you can produce camera-ready copies of your paper and thesis in minutes. LaTeX has a few advantages over traditional WYSIWYG typesetters
  1. LaTeX gives you complete freedom with what to do with your document
  2. LaTeX, as I said provides you with camera ready quality prints.
  3. LaTeX is extensible, means you can create you own template to format documents. Once you have designed that, you don't have to do anything to typeset any other document. LaTeX will take care of it!
But there are a few problems too-
  1. To learn LaTeX, the learning curve is too steep. You have to spend about 5-7 days before you can start even something preliminary.
  2. Not being a WYSIWYG might be troubling for beginners.
  3. Not an easy alternative to people who are ingrained with MS Office/ OO Writer, one like me.
But the transition to LaTeX is worth the effort. The quality of typeset it produces is unbeatable. And moreover you can feel the superior feeling from your peers who are still using MS Office/OO Writer!!

LaTeX is very modular in it's construction and specific features can be invoked (mostly) just by using certain packages. The very essencial packages, in my list would be -
  1. graphicx - to include images to your document
  2. float - to place floats (including images, tables and others) at precisely the location where needed
  3. url - typesets url correctly
  4. wrapfig - a special package for wrapping texts around float.
  5. amsmath - this package type sets mathematical symbols nicely. You can enter virtually any math symbol into your text.
  6. quotchap - A style package which allows you to put quotes at the begining of every chapter.
  7. appendix - allows you to typeset appendices.
  8. color - voilà! now no more black and white typesetting, all colors that too in any color model including RGB, CMYK, monochrome colorspace can be rendered.
  9. xcolor - this is an advanced color pacakage, one can include either color or xcolor package, since xcolor internally invokes color package.
  10. tikz - It's possible to render images and graphics directly into latex typesetting. This is a very advanced package and whole books can be written on it. Quality of graphics is again exemplary.
  11. geometry - to change margins of your document, a deviation from standard.
  12. biblatex - to include a nicely styled bibliography into your document, mostly needed for thesis and journal/conference papers.
  13. nomencl - this package adds nomenclature or in other words list of abbreviation into your document. Again needed for theses.
  14. fancyhdr - this alters the standard headers and style of chapter name to a more nicer style.
  15. fixltx2e - gives the ability to input superscripts and subscripts into your docuement.
  16. hyperref - allows one to add hyper links into citations, table of content, table of figure, table of tables etcetera into your document. A a matter of fact, LaTeX automatically inserts ToC, ToF, ToT into your document with just one line.
The most comprehensive LaTeX archive if manual is hosted at CTAN. And the most popular implementation of LaTeX are TeX Live and MiKTeX. TeX Live runs on many systems including Windows and Unix varients, whilte MiKTeX is for Windows only.

Hope you enjoy learning LaTeX and happy typesetting.

Comments

Popular posts from this blog

Multimaster replication with Symmetric DS

Symmetric DS is an awesome tool for trigger based replication whcih works for all major database vendors, including but not limited to PostgreSQL, MySQL, MSSQL, Oracle and many others. Symmetric-DS is a java application and can execute on any platform on whcih JRE is available including Windows and Linux. Trigger based replication, in constrast to disk based (eg. DRBD ) or transaction log file shipping based or statement based , works by registering triggers on DMLs and sending the data thus generated to remote machines. Another very popular trigger based DB replication tool is Slony . Symmetric-DS in addition to being database agnostic also supports multi-master replication (MMR). MMR usecase involves multiple database nodes, connected in a pool with DML updates coming from any of them. This is different from the normal master-slave replication, where slaves are not expected to generate any data events, and the sole authority of database is the master. MMR requirement causes d...

Reset root password RHEL/Rocky/CentOS 9

Unlike the earlier versions of Rethat variants, version 9 doesn't allow single user mode to change password, as maintanance mode in 9 requires root password . Single user mode (runlevel 1) can easily be obtained by appending the word ' single ' at the end of the line starting with 'linux' by editing the entry in boot menu by pressing ' e ' at boot menu. To reset the root password on the other hand, one requires to follow a specific set of commands, At the boot menu, edit rescue mode to append 'rd.break ' at the end of the line starting with kernel. Boot with the edited line by pressing Ctrl+X or F10. At the new prompt starting with switch_root, type the following commands, mount -o remount, rw /sysroot chroot /sysroot touch /.autorelabel passwd <new root password> exit reboot       

Devstack installation with cells in multiple machines

  Devstack is a testing and development package for OpenStack . The official devstack website has excellent but terse installation instructions, which could be daunting to a newbie. Normally, a traditional install is pretty straightforward but problems creep in when you have to go for some particular configuration or installation like cells or a simple code-test-debug setup, the information on the main site is insufficient. In this blog, I will enumerate the steps for setting up a cell-ular devstack installation with one parent and one child. Parent will not be instantiating any VMs s it's only a 'command centre'. 1. On both machines, install git and vim, clone the devstack repo using git. yum install git vim git clone https://git.openstack.org/openstack-dev/devstack 2. On both machines, open up the file 'local.conf' inside the cloned directory 'devstack' cd devstack; vim local.conf 3. Copy the parameters below to the file...