Complex Analysis, Complex Numbers, Complex Function, Analytic Function, Harmonic Function, Residue Theory, Laurent Series, Contour Integrals, Poisson Integral, Dirichlet Problem, Conformal Mapping, Joukowski Airfoil, Schwarz-Christoffel Transformation, Fourier Series, Laplace Transform, z-Transformation

Basically, there is no way to convert Mathematica notebooks into PDFs without invoking the frontend. To print or convert it, you first need to open it and a naive attempt to open a notebook from the Mathematica command line yields the error FrontEndObject::notavail

In[1]:= NotebookOpen["file.nb"] FrontEndObject::notavail: A front end is not available; certain operations require a front end.

This means that you could either make a notebook to do the conversion or call the frontend from the command line. Here's a solution in the form of a Mathematica script - it can easily be turned into a Notebook or package file.

Save the following code as nb2pdf, make it executable and place it the directory with the files you want to convert or somewhere in your path.

#!/usr/local/bin/MathematicaScript -script (* Convert Mathematica notebooks to PDFs *) (* usage: nb2pdf file1.nb file2.nb etc... *) (* outputs: file1.pdf file2.pdf etc... into the current directoy *) (* If called with no filenames, this script *) (* will convert all notebook files in the current directory *) dir = Directory[]; files = {}; expandNb = False; (* Expand all cell groups in the Notebook *) If[Length[$ScriptCommandLine] > 1, Do[If[FileExistsQ[file], AppendTo[files, file], Print["File " <> file <> " does not exist"]], {file, Rest[$ScriptCommandLine]}], files = FileNames["*.nb"]]; With[{UFE = UsingFrontEnd}, Do[nb = UFE@NotebookOpen[FileNameJoin[{dir, file}]]; If[expandNb, UFE@SelectionMove[nb, All, Notebook]; UFE@FrontEndExecute[FrontEndToken["SelectionOpenAllGroups"]]]; UFE@NotebookPrint[nb, FileNameJoin[{dir, FileBaseName[file]<>".pdf"}]]; UFE@NotebookClose[nb], {file, files}]]