README.md (3432B)
1 <a href="http://www.ti.bfh.ch/bachelor/mikro_und_medizintechnik.html" target="_blank"><img src="https://www.bfh.ch/fileadmin/images/newsmeldungen/2013/BFH_Logo_C_en_100_RGB.png" alt="IMAGE ALT TEXT HERE"/></a> 2 3 # Description - LaTex Course Build System 4 5 This build system is based on BFH LaTex beamer template but can be used with any other LaTex beamer template. 6 7 8 ##### Company 9 Bern University of Applied Sciences 10 11 ##### Purpose 12 This template is for creating and managing course lectures based on LaTex files. 13 14 Building from LaTex source a complex beamer education bundle is quite tricky. To overcome this the build environment uses make for a layer of build system control and latexmk for converting Tex to PDF. 15 16 ##### Author 17 Andreas HABEGGER <andreas.habegger@bfh.ch> 18 19 20 ## Linux Prerequisites (Debian/Ubuntu) 21 Follow the procedure below to install 3rd party package (Debian/Ubuntu). 22 23 Install used LaTex packages: 24 ```bash 25 apt-get install texlive-base texlive-extra-utils texlive-generic-recommended texlive-latex-base texlive-latex-extra 26 ``` 27 28 Install used fonts packages: 29 ```bash 30 apt-get install texlive-fonts-extra texlive-fonts-recommended 31 ``` 32 Install used build environment packages 33 ```bash 34 apt-get install latexmk make git 35 ``` 36 Install used converter packages 37 ```bash 38 apt-get install inkscape 39 ``` 40 41 ## Set-Up the Build System 42 - Create project directory 43 44 ```bash 45 mkdir <YOUR_PROJECT> 46 cd <YOUR_PROJECT> 47 ``` 48 - Activate Git version control for that project 49 50 ```bash 51 git init 52 ``` 53 - Add the build system as a git sub-module (the submodul name .template is important) 54 55 ```bash 56 git submodule add git@gitlab.ti.bfh.ch:latex-utils/tpl_latex-course.git .template 57 ``` 58 - Link the Makefile from within .template directory 59 60 ```bash 61 ln -s .template/Makefile 62 ``` 63 - Make default structure of project 64 65 ```bash 66 make init 67 ``` 68 - (optional) Create default sample presentation to get started quick. 69 70 ```bash 71 make sample 72 ``` 73 - List available lectures after creating a sample lecture 74 75 ```bash 76 make list 77 ``` 78 - Convert SVGs into PDF pictures 79 ```bash 80 make convert 81 ``` 82 83 - Translate sample lecture into PDF slides and handouts. (Look-up the documents in output drectory called "_output".) 84 85 ```bash 86 LECTURE=sample_lecture make bundle 87 ``` 88 - Display all possible make targets. 89 90 ```bash 91 make help 92 ``` 93 94 ## Did You Know!? 95 ### List Lectures 96 Get an overview of available lectures 97 ```bash 98 make list 99 ``` 100 101 ### LECTURE Environment Variable Support 102 If you do lots of builds when developing a specific "lecture", export the variable **LECTURE** 103 ```bash 104 export LECTURE=lecture_sample 105 ``` 106 Having the variable "LECTURE" in the bash environment allows shorter build command. 107 ```bash 108 make slide 109 ``` 110 ### Increase Verbosity Level 111 The variable DEBUG controls the verbosity level 112 * [0] As quiet as possible 113 * [1] Get more details to build steps (latexmk still in batch mode) 114 * [2] Build in interactive mode 115 116 Set a verbosity level other than zero 117 ```bash 118 DEBUG=2 119 ``` 120 ### Get List of Available Lectures 121 To get an overview about lectures available in the "lectures" folder use the **list** target 122 ```bash 123 make list 124 ``` 125 126 ### Convert XFIGs and SVGs 127 To convert fig and svg files use the **convert** target. Did you know the location for such files is fig or svg, respectively. 128 ```bash 129 make convert 130 ``` 131 ### Compress Your Work 132 ```bash 133 make archive 134 ``` 135 or 136 ```bash 137 git archive --format zip --prefix <COURSE_NAME> --output ../<COURSE_NAME>.zip master 138 ``` 139 ___