The code block I previously sent only require you to specify which _extension_ you want or don't want. No need to include any specific filename (other than the .zip file in the latex "include" command).
Am I to understand you want something to include *all and only* tangled files? -- I tried ":exports result" with no success. I'll try to send a minimum working example shortly. On Thu, Jan 12, 2012 at 4:11 AM, Rainer M Krug <r.m.k...@gmail.com> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 12/01/12 03:06, Frozenlock wrote: >> To include multiple files, I export all of the required files >> before the PDF creation and zip them. This way, I only need to >> include a single zip file. > > Good idea. > >> >> #+BEGIN_SRC emacs-lisp :exports none ;; various exports >> (save-window-excursion (org-export-as-ascii >> org-export-headline-levels)) (save-window-excursion >> (org-export-as-html org-export-headline-levels)) >> >> ;;zip the required files (let ((filename (file-name-sans-extension >> (file-name-nondirectory (buffer-file-name))))) (shell-command >> (concat "zip " filename ".zip " (mapconcat '(lambda (arg) arg) >> (remove-if '(lambda (filename) (string-match >> "\\.$\\|\\.pdf$\\|\\.atfi$\\|#" filename)) (directory-files >> (file-name-directory (buffer-file-name)))) " ")))) #+END_SRC >> >> (I've added this code in a babel block to evaluate just before the >> PDF export.) > > I actually did not want to fiddle with the file names, as it is to > easy to forget some: this concerns in my case literate programming of > a simulation model in R, resul;ting in several files of different > extensions - it is to easy to forget one. > > If I tangle, I get all the names of the tangled files, but I do not > know how I can feed them into the zip file. > >> >> As you can see, I make sure I don't include a previous PDF, or any >> other useless file. > > True. > >> >> If you wish to add only a single type of file, simply replace >> "remove-if" by "remove-if-not" and change the value in the >> string-match function. For example, >> "\\.$\\|\\.pdf$\\|\\.atfi$\\|#" would become "\\.lisp$" to include >> all your exported lisp files. >> >> Hope this helps! >> >> >> By the way, I can't get the code block to be evaluated >> automatically when I export to PDF, any clue on how to do that? > > I assume, it is caused by the :exports none - so no evaluation is done > on export. Try changing it to :exports result and then generate an > empty result, or a list of files included in the zip file. > > Cheers, > > Rainer > > >> >> >> >> On Wed, Jan 11, 2012 at 10:28 AM, Rainer M Krug >> <r.m.k...@gmail.com> wrote: On 06/01/12 08:45, Eric Schulte wrote: >>>>> Frozenlock <frozenl...@gmail.com> writes: >>>>> >>>>>> I am a strong advocate in keeping the source of >>>>>> everything. >>>>>> >>>>>> However, Â a source can easily be lost if it doesn't follow >>>>>> the document. In LaTeX, there's a package to attach a file >>>>>> to a PDF (like when you attach a file to an email). By >>>>>> doing so, the source will follow the PDF even if the common >>>>>> reader have no clue what it's for, or even how to use it. >>>>>> >>>>> >>>>> This sounds like a great Reproducible Research practice. >>>>> >>>>>> >>>>>> Here is how I attach my org source to every document I >>>>>> export to PDF: >>>>>> >>>>>> ;; Include the source file for every exported PDF >>>>>> (org-mode) (eval-after-load "org-exp" '(defadvice >>>>>> org-export-as-latex (around org-export-add-source-pdf >>>>>> activate) "Add the source (org file) to the resulting pdf >>>>>> file" (let ((filename (buffer-name))) ad-do-it ;do the >>>>>> function (let ((latex-buffer ad-return-value)) (set-buffer >>>>>> latex-buffer) (while (re-search-forward >>>>>> "\\\\usepackage{.+}" nil t)); go to the end of packages >>>>>> (insert "\n\\usepackage{attachfile2}"); the package needed >>>>>> to attach files (when (re-search-forward >>>>>> "\\\\end{document}" nil t) (forward-line -1) (insert >>>>>> (concat "\\vfill\n" "\\footnotesize\n" "The source of this >>>>>> document is an Org-Mode file attached here:" >>>>>> "\n\\attachfile" "{" filename "}"))) (save-buffer))))) >>>>>> >>>>>> >>>>>> This is by no mean a patch, but rather a quick hack. >>>>>> Perhaps someone with a working knowledge of the org-export >>>>>> could find a way to add a source option? >>>>>> >>>>> >>>>> I think this practice may not actually require any changes to >>>>> the Org-mode core. Â The attached small Org-mode file will >>>>> attach itself to pdf exports using only features already >>>>> present in Org-mode. >> >> Following this idea - how can I easily attach all files created by >> tangling? Is there a programmatic way, without having to specify >> them manually? >> >> Thanks, >> >> Rainer >> >> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Thanks for sharing this idea! >>>>> >>>>>> >>>>>> >>>>>> Cheers! >>>>>> >>>>> >> >> > > - -- > Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation > Biology, UCT), Dipl. Phys. (Germany) > > Centre of Excellence for Invasion Biology > Stellenbosch University > South Africa > > Tel : +33 - (0)9 53 10 27 44 > Cell: +33 - (0)6 85 62 59 98 > Fax : +33 - (0)9 58 10 27 44 > > Fax (D): +49 - (0)3 21 21 25 22 44 > > email: rai...@krugs.de > > Skype: RMkrug > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.11 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEUEARECAAYFAk8Oo7UACgkQoYgNqgF2egpg9wCfTq04zAVki+Oh1g97/C3FERf3 > Ej0Al30dF8xQdyHNOmOK8y7ZolA0dzE= > =IUuN > -----END PGP SIGNATURE-----