<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>makedoc.sh</title>
<meta name="Generator" content="Vim/8.2">
<meta name="plugin-version" content="vim8.1_v2">
<meta name="syntax" content="bash">
<meta name="settings" content="use_css,pre_wrap,no_foldcolumn,expand_tabs,prevent_copy=,use_input_for_pc=fallback">
<meta name="colorscheme" content="default">
<style>
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #ffffff; background-color: #000000; }
body { font-family: monospace; color: #ffffff; background-color: #000000; }
* { font-size: 1em; }
.Comment { color: #8080ff; }
.Constant { color: #ff6060; }
.Special { color: #ff40ff; }
.Identifier { color: #00ffff; }
.Statement { color: #ffff00; }
.PreProc { color: #ff40ff; }
-->
</style>
</head>
<body>
<pre id='vimCodeElement'>
<span class="Comment">#!/bin/bash</span>
<span class="Comment"># ---------------------------------------------------------------------------- #</span>
<span class="Comment">## \file makedoc.sh</span>
<span class="Comment">## \author Sebastien Beaugrand</span>
<span class="Comment">## \sa <a href="http://beaugrand.chez.com/">http://beaugrand.chez.com/</a></span>
<span class="Comment">## \copyright CeCILL 2.1 Free Software license</span>
<span class="Comment"># ---------------------------------------------------------------------------- #</span>
<span class="Identifier">readOptions()</span>
<span class="Identifier">{</span>
    <span class="Identifier">texprog</span>=<span class="Constant">2</span>
    <span class="Identifier">spell</span>=n
    <span class="Statement">if </span><span class="PreProc">(</span><span class="Statement">grep</span> <span class="Statement">&quot;</span><span class="Constant">a5paper</span><span class="Statement">&quot;</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.tex</span><span class="Statement">&quot;</span> <span class="Constant">2</span><span class="Statement">&gt;</span> /dev/null<span class="PreProc">)</span><span class="Statement">;</span> <span class="Statement">then</span>
        <span class="Identifier">book</span>=
    <span class="Statement">else</span>
        <span class="Identifier">book</span>=n
    <span class="Statement">fi</span>

    <span class="Statement">for</span> ac_option
    <span class="Statement">do</span>
        <span class="Statement">case</span> <span class="Statement">&quot;</span><span class="PreProc">$ac_option</span><span class="Statement">&quot;</span> <span class="Statement">in</span>
            -b <span class="Statement">|</span> -book <span class="Statement">|</span> --book<span class="Statement">)</span>
                <span class="Identifier">book</span>=o <span class="Statement">;;</span>
            -h <span class="Statement">|</span> -help <span class="Statement">|</span> --help<span class="Statement">)</span>
                cat <span class="Statement">&lt;&lt; EOF</span>
<span class="Constant">Usage: </span><span class="PreProc">${</span><span class="PreProc">0</span><span class="Statement">##</span>*/<span class="PreProc">}</span><span class="Constant"> [options] &lt;tex-file&gt;</span>
<span class="Constant">Options:</span>
<span class="Constant">  -b, --book    faire un livret avec le prefixe livret_</span>
<span class="Constant">  -h, --help    cette aide</span>
<span class="Constant">  -i            mode interactif</span>
<span class="Constant">  -n, --nobook  ne pas faire de livret</span>
<span class="Constant">  -s, --spell   verifier l'orthographe</span>
<span class="Statement">EOF</span>
                <span class="Statement">exit</span> <span class="Constant">0</span> <span class="Statement">;;</span>
            -i<span class="Statement">)</span>
                <span class="Identifier">texprog</span>=
                <span class="Identifier">spell</span>=
                <span class="Identifier">book</span>=
                <span class="Statement">;;</span>
            -n <span class="Statement">|</span> -nobook <span class="Statement">|</span> --nobook<span class="Statement">)</span>
                <span class="Identifier">book</span>=n <span class="Statement">;;</span>
            -s <span class="Statement">|</span> -spell <span class="Statement">|</span> --spell<span class="Statement">)</span>
                <span class="Identifier">spell</span>=o <span class="Statement">;;</span>
            *<span class="Statement">)</span>
                <span class="Identifier">filename</span>=<span class="Statement">&quot;</span><span class="PreProc">$ac_option</span><span class="Statement">&quot;</span> <span class="Statement">;;</span>
        <span class="Statement">esac</span>
    <span class="Statement">done</span>
<span class="Identifier">}</span>

readOptions <span class="PreProc">$*</span>  <span class="Comment"># Une premiere fois pour avoir le nom du fichier</span>

<span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">!</span> <span class="Statement">-f</span> <span class="Statement">&quot;</span><span class="PreProc">$filename</span><span class="Statement">&quot;</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
    <span class="Statement">echo</span><span class="Constant"> </span><span class="Statement">&quot;</span><span class="PreProc">$filename</span><span class="Constant">: Aucun fichier</span><span class="Statement">&quot;</span>
    <span class="Statement">exit</span> <span class="Constant">-1</span>
<span class="Statement">fi</span>
<span class="Identifier">ext</span>=<span class="PreProc">${</span><span class="PreProc">filename</span><span class="Statement">##</span>*.<span class="PreProc">}</span>
<span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">&quot;</span><span class="PreProc">$ext</span><span class="Statement">&quot;</span> <span class="Statement">!=</span> tex <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
    <span class="Statement">echo</span><span class="Constant"> </span><span class="Statement">&quot;</span><span class="PreProc">$filename</span><span class="Constant">: Mauvaise extention</span><span class="Statement">&quot;</span>
    <span class="Statement">exit</span> <span class="Constant">-1</span>
<span class="Statement">fi</span>
<span class="Identifier">name</span>=<span class="PreProc">${</span><span class="PreProc">filename</span><span class="Statement">%</span>.tex<span class="PreProc">}</span>

readOptions <span class="PreProc">$*</span>  <span class="Comment"># Une seconde fois pour les options dependantes du fichier</span>

<span class="Identifier">modesfile</span>=/usr/share/texmf/metafont/misc/modes.mf
<span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">-f</span> <span class="PreProc">$modesfile</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
    <span class="Statement">echo</span>
    <span class="Statement">echo</span><span class="Constant"> </span><span class="Statement">&quot;</span><span class="Constant">info: </span><span class="Statement">&quot;</span><span class="Special">`</span><span class="Statement">grep</span><span class="Special"> </span><span class="Statement">&quot;</span><span class="Constant">localfont := </span><span class="Statement">&quot;</span><span class="Special"> </span><span class="PreProc">$modesfile</span><span class="Special">`</span><span class="Statement">&quot;</span><span class="Constant"> in </span><span class="PreProc">$modesfile</span><span class="Statement">&quot;</span>
    <span class="Statement">echo</span>
<span class="Statement">fi</span>

<span class="Comment"># ---------------------------------------------------------------------------- #</span>
<span class="Comment"># orthographe</span>
<span class="Comment"># ---------------------------------------------------------------------------- #</span>
<span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">-z</span> <span class="Statement">&quot;</span><span class="PreProc">$spell</span><span class="Statement">&quot;</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
    <span class="Statement">echo</span><span class="Constant"> -n </span><span class="Statement">&quot;</span><span class="Constant">orthographe ? (o/N) </span><span class="Statement">&quot;</span>
    <span class="Statement">read</span> spell
    <span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">-z</span> <span class="Statement">&quot;</span><span class="PreProc">$spell</span><span class="Statement">&quot;</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
        <span class="Identifier">spell</span>=n
    <span class="Statement">fi</span>
<span class="Statement">fi</span>
<span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">&quot;</span><span class="PreProc">$spell</span><span class="Statement">&quot;</span> <span class="Statement">=</span> <span class="Constant">o</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
    aspell <span class="Statement">-d</span> francais <span class="Statement">-p</span> <span class="Statement">&quot;</span><span class="Constant">./</span><span class="PreProc">$name</span><span class="Constant">.dic</span><span class="Statement">&quot;</span> <span class="Statement">-t</span> <span class="Statement">-c</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.tex</span><span class="Statement">&quot;</span>
<span class="Statement">fi</span>

<span class="Comment"># ---------------------------------------------------------------------------- #</span>
<span class="Comment"># compilation</span>
<span class="Comment"># ---------------------------------------------------------------------------- #</span>
<span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">-z</span> <span class="Statement">&quot;</span><span class="PreProc">$texprog</span><span class="Statement">&quot;</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
    <span class="Statement">echo</span><span class="Constant"> -ne </span><span class="Statement">&quot;</span><span class="Constant">(1) postscript</span><span class="Special">\n</span><span class="Constant">(2) pdf pdflatex</span><span class="Special">\n</span><span class="Constant">(3) pdf dvipdf</span><span class="Special">\n</span><span class="Constant">[1] </span><span class="Statement">&quot;</span>
    <span class="Statement">read</span> texprog
    <span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">-z</span> <span class="Statement">&quot;</span><span class="PreProc">$texprog</span><span class="Statement">&quot;</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
        <span class="Identifier">texprog</span>=<span class="Constant">1</span>
    <span class="Statement">fi</span>
<span class="Statement">fi</span>
<span class="Identifier">options</span>=<span class="Statement">&quot;</span><span class="Constant">--halt-on-error</span><span class="Statement">&quot;</span>
<span class="Statement">if </span><span class="Statement">grep</span> <span class="Statement">&quot;</span><span class="Constant">write18</span><span class="Statement">&quot;</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.tex</span><span class="Statement">&quot;</span> <span class="Statement">&gt;</span>/dev/null <span class="Constant">2</span><span class="Statement">&gt;</span><span class="Statement">&amp;</span><span class="Constant">1</span><span class="Statement">;</span> <span class="Statement">then</span>
    <span class="Statement">echo</span><span class="Constant"> -n </span><span class="Statement">&quot;</span><span class="Constant">--shell-escape ? (o/N) </span><span class="Statement">&quot;</span>
    <span class="Statement">read</span> ret
    <span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">&quot;</span><span class="PreProc">$ret</span><span class="Statement">&quot;</span> <span class="Statement">=</span> <span class="Constant">o</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
        <span class="Identifier">options</span>=<span class="Statement">&quot;</span><span class="PreProc">$options</span><span class="Constant"> --shell-escape</span><span class="Statement">&quot;</span>
    <span class="Statement">fi</span>
<span class="Statement">fi</span>
<span class="Statement">case</span> <span class="PreProc">$texprog</span> <span class="Statement">in</span>
    1<span class="Statement">)</span> latex    <span class="PreProc">$options</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.tex</span><span class="Statement">&quot;</span> <span class="Statement">;</span> dvips <span class="Special">-o</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.ps</span><span class="Statement">&quot;</span>  <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.dvi</span><span class="Statement">&quot;</span> <span class="Statement">;;</span>
    2<span class="Statement">)</span> pdflatex <span class="PreProc">$options</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.tex</span><span class="Statement">&quot;</span> <span class="Statement">;;</span>
    3<span class="Statement">)</span> latex    <span class="PreProc">$options</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.tex</span><span class="Statement">&quot;</span> <span class="Statement">;</span> dvipdf <span class="Special">-dALLOWPSTRANSPARENCY</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.dvi</span><span class="Statement">&quot;</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.pdf</span><span class="Statement">&quot;</span> <span class="Statement">;;</span>
<span class="Statement">esac</span>

<span class="Comment"># ---------------------------------------------------------------------------- #</span>
<span class="Comment"># livret</span>
<span class="Comment"># ---------------------------------------------------------------------------- #</span>
<span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">-z</span> <span class="Statement">&quot;</span><span class="PreProc">$book</span><span class="Statement">&quot;</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
    <span class="Statement">echo</span><span class="Constant"> -n </span><span class="Statement">&quot;</span><span class="Constant">livret ? (o/N) </span><span class="Statement">&quot;</span>
    <span class="Statement">read</span> book
    <span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">-z</span> <span class="Statement">&quot;</span><span class="PreProc">$book</span><span class="Statement">&quot;</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
        <span class="Identifier">book</span>=n
    <span class="Statement">fi</span>
<span class="Statement">fi</span>
<span class="Statement">if </span><span class="Statement">[</span> <span class="Statement">&quot;</span><span class="PreProc">$book</span><span class="Statement">&quot;</span> <span class="Statement">=</span> <span class="Constant">o</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
    <span class="Statement">if </span><span class="Statement">[</span> <span class="PreProc">$texprog</span> <span class="Statement">=</span> <span class="Constant">1</span> <span class="Statement">]</span><span class="Statement">;</span> <span class="Statement">then</span>
        psbook <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.ps</span><span class="Statement">&quot;</span> <span class="Statement">|</span> psnup <span class="Constant">-2</span> <span class="Statement">|</span>\
          pstops <span class="Statement">&quot;</span><span class="Constant">2:0,1U(21cm,29.7cm)</span><span class="Statement">&quot;</span> <span class="Statement">&gt;</span><span class="Statement">&quot;</span><span class="Constant">livret-</span><span class="PreProc">$name</span><span class="Constant">.ps</span><span class="Statement">&quot;</span>
    <span class="Statement">else</span>
        pdfxup <span class="Statement">-b</span> <span class="Special">-kbb</span> <span class="Special">-ow</span> <span class="Statement">-o</span> <span class="Statement">&quot;</span><span class="Constant">livret-</span><span class="PreProc">$name</span><span class="Constant">.pdf</span><span class="Statement">&quot;</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.pdf</span><span class="Statement">&quot;</span> <span class="Statement">&gt;</span>/dev/null
    <span class="Statement">fi</span>
<span class="Statement">fi</span>

<span class="Statement">rm</span> <span class="Special">-f</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.log</span><span class="Statement">&quot;</span> <span class="Statement">&quot;</span><span class="PreProc">$name</span><span class="Constant">.dvi</span><span class="Statement">&quot;</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->