when trying markdown2pdf without xetex option, use custom-header for propoer input encoding and so on
authorProduction Moz <dev@sopinspace.com>
Tue, 14 Jun 2011 16:28:27 +0200
changeset 358 3e58bf6b3f3e
parent 357 2f4587a37ff9
child 359 0bab4ef95bfe
when trying markdown2pdf without xetex option, use custom-header for propoer input encoding and so on
src/cm/converters/latex_header.txt
src/cm/converters/pandoc_converters.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/converters/latex_header.txt	Tue Jun 14 16:28:27 2011 +0200
@@ -0,0 +1,9 @@
+\documentclass{article}
+\usepackage{amsmath}
+\usepackage[mathletters]{ucs}
+\usepackage[utf8x]{inputenc}
+\usepackage{listings}
+\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{6pt plus 2pt minus 1pt}
+\usepackage[T1]{fontenc}
\ No newline at end of file
--- a/src/cm/converters/pandoc_converters.py	Thu Jun 09 11:52:31 2011 +0200
+++ b/src/cm/converters/pandoc_converters.py	Tue Jun 14 16:28:27 2011 +0200
@@ -126,7 +126,20 @@
 
     # xetex seems to randomly cause "Invalid or incomplete multibyte or wide character" errors, try without it
     if retcode:
-      retcode = call(MARKDOWN2PDF_BIN + ' ' + input_temp_name, shell=True, stderr=fp_error)
+      # build absolute address for latex header file
+      _tmp_ = __file__.split(os.path.sep)[:-1]
+      _tmp_.append('latex_header.txt')
+      _tmp_.insert(0, os.path.sep)
+
+      LATEX_HEADER_PATH = os.path.join(*_tmp_)
+
+      if not os.path.isfile(LATEX_HEADER_PATH):
+        raise Exception('LATEX_HEADER_PATH is not a file!')
+
+      # custom latex header
+      cust_head_tex = " --custom-header=%s " %LATEX_HEADER_PATH
+
+      retcode = call(MARKDOWN2PDF_BIN + cust_head_tex + ' ' + input_temp_name, shell=True, stderr=fp_error)
 
     fp_error.close()