If anyone interested, it's easy to explicitly load the required ELPA packages in batch mode. For example, the following command loads htmlize for publishing org files in batch mode
emacs --batch -l ~/.emacs.d/init.el --eval "(progn (add-to-list 'load-path \"~/.emacs.d/elpa/htmlize-20120616.1716\") (require 'htmlize))" -f org-publish-all It should be easy to include such a command in a makefile or build.xml and automatically locate the latest installation of necessary packages rather than explicitly specifying the path. Still I wonder why ELPA packages are not loaded by default in --batch mode even though (package-initialize) is being evaluated. Regards, Dmitri