From 33e00f02d4ecd28ea5084fc553d2ad182a11ca52 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Wed, 6 Feb 2019 02:45:41 +0000 Subject: Better management for .tex directories to build from tarball In order to collaborate effectively in the project, even project members that don't necessarily want (or have the capacity) to do the whole analysis must be able to contribute to the project. Until now, the users of the distributed tarball could only modify the text and not the figures (built with PGFPlots) of the paper. With this commit, the management of TeX source files in the pipeline was slightly modified to allow this as cleanly as I could think of now! In short, the hand-written TeX files are now kept in `tex/src' and for the pipeline's generated TeX files (in particular the old `tex/pipeline.tex'), we now have a `tex/pipeline' symbolic-link/directory that points to the `tex' directory under the build directory. When packaging the project, `tex/pipeline' will be a full directory with a copy of all the necessary files. Therefore as far as LaTeX is concerned, having a build-directory is no longer relevant. Many other small changes were made to do this job cleanly which will just make this commit message too long! Also, the old `tarball' and `zip' targets are now `dist' and `dist-zip' (as in the standard GNU Build system). --- README-hacking.md | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index ddc9460..073138b 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -388,20 +388,13 @@ possible. The `reproduce/src/make/paper.mk` Makefile must be the final Makefile that is included. It ends with the rule to build `paper.pdf` (final target of the whole reproduction pipeline). If look in it, you will notice that it -starts with a rule to create `tex/pipeline.tex`. `tex/pipeline.tex` is the -connection between the processing/analysis steps of the pipeline, and the -steps to build the final PDF. As you see, `tex/pipeline.tex` is only a -merging/concatenation of LaTeX macros defined as the output of each -high-level processing step (the separate work-horse Makefiles that you -included). - -One of the LaTeX macros created by `reproduce/src/make/initialize.mk` is -`\bdir`. It is the location of the build directory. In some cases you want -tables and images to also be included in the final PDF. To keep these -necessary LaTeX inputs, you can define other directories under -`$(BDIR)/tex` in the relevant workhorse-Makefile. You can then easily guide -LaTeX to look into the proper directory to import an image for example -through the `\bdir` macro. +starts with a rule to create `$(mtexdir)/pipeline.tex` (`mtexdir` is just a +shorthand name for `$(BDIR)/tex/macros` mentioned before). +`$(mtexdir)/pipeline.tex` is the connection between the processing/analysis +steps of the pipeline, and the steps to build the final PDF. As you see, +`$(mtexdir)/pipeline.tex` only instruct LaTeX to import the LaTeX macros of +each high-level processing step during the analysis (the separate +work-horse Makefiles that you defined and included). During the research, it often happens that you want to test a step that is not a prerequisite of any higher-level operation. In such cases, you can @@ -446,9 +439,9 @@ mind are listed below. the variable defined in it. - Through any number of intermediate prerequisites, all processing steps - should end in (be a prerequisite of) `tex/pipeline.tex` (defined in - `reproduce/src/make/paper.mk`). `tex/pipeline.tex` is the bridge between - the processing steps and PDF-building steps. + should end in (be a prerequisite of) `$(mtexdir)/pipeline.tex` (defined + in `reproduce/src/make/paper.mk`). `$(mtexdir)/pipeline.tex` is the + bridge between the processing steps and PDF-building steps. -- cgit v1.2.1