From mboxrd@z Thu Jan 1 00:00:00 1970 From: Myles English Subject: Re: Example of Make file for Org Mode LaTeX to pdf Date: Sun, 06 Mar 2016 13:26:50 +0000 Message-ID: <877fhf20v9.fsf@gmail.com> References: <4A383BD1-2B7C-4AF3-909E-5D1561B1F933@airmail.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40978) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1acYi0-00042H-SW for emacs-orgmode@gnu.org; Sun, 06 Mar 2016 08:26:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1acYhx-0007Qv-L7 for emacs-orgmode@gnu.org; Sun, 06 Mar 2016 08:26:56 -0500 Received: from mail-wm0-x234.google.com ([2a00:1450:400c:c09::234]:37743) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1acYhx-0007Qr-AR for emacs-orgmode@gnu.org; Sun, 06 Mar 2016 08:26:53 -0500 Received: by mail-wm0-x234.google.com with SMTP id p65so42040360wmp.0 for ; Sun, 06 Mar 2016 05:26:52 -0800 (PST) In-reply-to: <4A383BD1-2B7C-4AF3-909E-5D1561B1F933@airmail.net> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Robert Love Cc: emacs-orgmode list Hello Bob, Robert Love writes: > Does anyone have a make file example that has emacs load an .org file, > process it into LaTeX and export as PDF, all from the command line > without the user doing anything more than type ‘make’? All examples > appreciated. Fraid I don't have a makefile but I do have a CMakeLists.txt that CMake uses to generate a makefile. This method uses a CMake module called UseLATEX.cmake to generate the PDF. I haven't used it for a couple of years so it might be a bit outdated. The CMakeLists.txt also contains an example of how to generate all the R graphics for the document. If it looks a bit over complicated for your requirements perhaps just looking at the line that contains "COMMAND emacs" would be useful for you. Hopefully someone else will show a nice, simple, self-contained example. Myles #+BEGIN_SRC sh :tangle CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(thesis NONE) include(/usr/share/cmake-2.8/Modules/UseLATEX.cmake) # Set R executable set(R_COMPILE "/usr/bin/Rscript") # Set the location of data files ##set(DATA_DIR data) # Set the location of the directory for image files set(IMAGE_DIR graphicsauto) # Get a list of R files file(GLOB_RECURSE R_FILES "R/*.R") file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/R DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_DIR}) foreach(file ${R_FILES}) message("processing ${file}") get_filename_component(basename "${file}" NAME_WE) # Command to run R if(R_COMPILE) message("Adding ........... ${CMAKE_CURRENT_BINARY_DIR}/R/${basename}.R") add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_DIR}/${basename}.eps DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/R/${basename}.R # ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_DIR}/${DATA_DIR} COMMAND ${R_COMPILE} ARGS ${CMAKE_CURRENT_BINARY_DIR}/R/${basename}.R ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_DIR}/${basename}.eps ) message("Running ${R_COMPILE} ${CMAKE_CURRENT_BINARY_DIR}/R/${basename}.R ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_DIR}/${basename}.eps") endif(R_COMPILE) # Make a list of all R files (for ADD_LATEX_DOCUMENT depend) set(ALL_R_FILES ${ALL_R_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_DIR}/${basename}.eps ) endforeach(file) # ------- export mainThesis.org ----------------------- latex_get_output_path(OUTPUT_DIR) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/mainThesis.org DESTINATION ${OUTPUT_DIR}/ ) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/thesis.el DESTINATION ${OUTPUT_DIR}/ ) add_custom_target( orgfile ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mainThesis.org ) add_custom_target( elfile ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/thesis.el ) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mainThesis.tex COMMAND emacs -Q --batch --eval \"(progn (add-to-list 'load-path (expand-file-name \\"~/.emacs.d/plugins/org-mode/lisp/\\")) (add-to-list 'load-path (expand-file-name \\"~/.emacs.d/plugins/org-mode/contrib/lisp/\\" t)) (require 'org) (require 'ox) (require 'org-exp) (require 'org-inlinetask) (require 'ob-plantuml) (setq org-plantuml-jar-path \\"/home/myles/Downloads/plantuml.jar\\") (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (sh . t) (plantuml . t))) (setq org-confirm-babel-evaluate nil) (setq org-latex-listings 'minted) (setq org-latex-with-hyperref nil) (add-to-list 'org-latex-packages-alist '(\\"\\" \\"minted\\")) (add-to-list 'org-latex-classes '(\\"mynewthesis\\" \\"\\\\\\documentclass[11pt]{mythesis}\\" (\\"\\\\\\chapter{%s}\\" . \\"\\\\\\chapter*{%s}\\") (\\"\\\\\\section{%s}\\" . \\"\\\\\\section*{%s}\\") (\\"\\\\\\subsection{%s}\\" . \\"\\\\\\subsection*{%s}\\") (\\"\\\\\\subsubsection{%s}\\" . \\"\\\\\\subsubsection*{%s}\\") (\\"\\\\\\paragraph{%s}\\" . \\"\\\\\\paragraph*{%s}\\"))) (setq org-export-with-todo-keywords nil) (load-library \\"/home/myles/lib/lisp/my-export.el\\") (add-to-list 'org-export-before-parsing-hook 'my-export-delete-headlines-tagged-noheading) (add-to-list 'org-export-filter-link-functions 'my-autoref-filter-link-func) (load-file \\"thesis.el\\") (find-file \\"${CMAKE_CURRENT_BINARY_DIR}/mainThesis.org\\") (org-latex-export-to-latex))\" DEPENDS orgfile elfile COMMENT "Exporting orgmode file to LaTeX using emacs") add_custom_target( mainfile ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mainThesis.tex ) # ------ end mainThesis.org --------------------------- # add_custom_command( # OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/master.tex # COMMAND echo "\\\\input{mainThesis.tex}" > ${CMAKE_CURRENT_BINARY_DIR}/master.tex # DEPENDS orgfile # COMMENT "Writing file master.tex") # add_custom_target( masterfile ALL # DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/master.tex ) add_latex_document(master.tex BIBFILES texlib/mybiblatex.bib INPUTS biber.conf phd_papers.bib tex/title.tex tex/titleBasic.tex tex/abstract.tex tex/sharedMemory_sec.tex texlib/mystyle.sty tex/linked_nodes_test.tex IMAGE_DIRS ${IMAGE_DIR} ../graphics/thirdParty ../graphics/VE DEPENDS ${ALL_R_FILES} DEFAULT_PDF USE_NOMENCL) #+END_SRC