Commit 28734e61 authored by Gee's avatar Gee
Browse files

Ajout des livres, templates et scripts pour les generer

parent de3e5302
> **Attention, ce dépôt est en cours de construction, il est encore
> loin d'être complet et fonctionnel. Les sources des bandes dessinées
> publiées sur le blog sont dans [svg/bd_blog](svg/bd_blog).**
# Grise Bouille
Ce dépôt contient les sources de la bande dessinée
......@@ -24,25 +20,19 @@ dans `svg/bd_blog`).
## Tous les répertoires
> **Note :** beaucoup de répertoires sont encore vides, je suis encore
> en train de travailler pour rendre ce dépôt complet. Les dossiers
> faits sont cochés dans la liste. Les dossiers destinés à rester
> vides sont de simples puces. Cette liste sert aussi de `TODO` pour moi :)
* `epub` : dossier où sont générés les livres électroniques au format
EPUB ;
- [x] `jpg/a5` : réalisations graphiques sur papier numérisées ;
- `jpg/a5` : réalisations graphiques sur papier numérisées ;
(aquarelles, etc.) au format a5 noir et blanc pour livres
électroniques ;
- [x] `jpg/blog` : réalisations graphiques sur papier numérisées
- `jpg/blog` : réalisations graphiques sur papier numérisées
(aquarelles, etc.) au format blog ;
- [x] `jpg/boutique` : réalisations graphiques sur papier numérisées
- `jpg/boutique` : réalisations graphiques sur papier numérisées
(aquarelles, etc.) pour produits dérivés ;
- [ ] `latex` : ddossier où sont stockés les modèles et styles LaTeX
- `latex` : ddossier où sont stockés les modèles et styles LaTeX
et où sont générées les sources LaTeX des livres électroniques au
format PDF ;
- [ ] `markdown/blog` : métadonnées et scripts des BD ;
- [ ] `markdown/livres` : les sources de base des livres Grise Bouille ;
- `markdown/livres` : les sources de base des livres Grise Bouille ;
* `pdf` : dossier où sont générés les livres électroniques au format PDF ;
* `png/bd_a5_90dpi` : dossier où sont générées les images pour le format A5 PDF électronique ;
* `png/bd_a5_300dpi` : dossier où sont générées les images haute définition pour le format A5 imprimé ;
......@@ -54,16 +44,16 @@ dans `svg/bd_blog`).
* `png/boutique` : dossier où sont générées les images utilisées sur les produits dérivés ;
* `png/communication` : dossier où sont générées les images utilisées pour la communication autour de _Grise Bouille_ ;
* `png/couvertures` : dossier où sont générées les couvertures des livres ;
- [ ] `scripts` : les différents scripts qui automatisent certains processus dans les chaînes de publication de _Grise Bouille_ ;
- [x] `svg/bd_a5` : les sources SVG des BD au format A5 pour impression et PDF ;
- [x] `svg/bd_blog` : les sources SVG des BD au format blog (format d'origine) ;
- [x] `svg/bd_paysage` : les sources SVG des BD au format paysage adapté aux liseuses ;
- [ ] `svg/blog` : les sources SVG des images du thème graphique du blog ;
- [x] `svg/boutique` : les sources SVG des images utilisées sur les produits dérivés ;
- [ ] `svg/communication` : les sources SVG des images utilisées pour la communication autour de _Grise Bouille_ ;
- [ ] `svg/couvertures` : les sources SVG des couvertures des livres ;
- `scripts` : les différents scripts qui automatisent certains processus dans les chaînes de publication de _Grise Bouille_ ;
- `svg/bd_a5` : les sources SVG des BD au format A5 pour impression et PDF ;
- `svg/bd_blog` : les sources SVG des BD au format blog (format d'origine) ;
- `svg/bd_paysage` : les sources SVG des BD au format paysage adapté aux liseuses ;
- `svg/blog` : les sources SVG des images du thème graphique du blog ;
- `svg/boutique` : les sources SVG des images utilisées sur les produits dérivés ;
- `svg/communication` : les sources SVG des images utilisées pour la communication autour de _Grise Bouille_ ;
- `svg/couvertures` : les sources SVG des couvertures des livres ;
* `tmp` : dossier temporaire utilisé par les scripts ;
- [ ] `xhtml` : dossier où sont stockés les modèles et styles EPUB et où sont générées les sources XHTML des livres électroniques au format EPUB.
- `xhtml` : dossier où sont stockés les modèles et styles EPUB et où sont générées les sources XHTML des livres électroniques au format EPUB.
## Fonctionnements
......@@ -77,9 +67,6 @@ calculée automatiquement par _Inkscape_).
### Les livres
> **Note :** les scripts pour gérer les livres ne sont pas encore
> disponibles (j'y travaille).
Les livres sont générés de manière semi-automatique. Les deux seules
étapes non-automatiques sont les suivantes :
......@@ -104,13 +91,31 @@ La suite est réalisée automatiquement par un jeu de scripts :
pages) ;
* `scripts/generer_sources_a5_90dpi.rb` réalise la même opération pour le PDF
numérique ;
* `scripts/generer_sources_paysage.rb` (TODO);
* `scripts/generer_sources_paysage.rb` génère le contenu du fichier
EPUB au format XHTML (ainsi que les fichiers nécessaires comme
`content.opf`, etc.);
* `scripts/generer_a5_300dpi.rb` compile le fichier LaTeX vers un PDF
destiné à l'impression ;
* `scripts/generer_a5_90dpi.rb` compile le fichier LaTeX vers un PDF
destiné à la lecture sur écran.
* `scripts/generer_paysage.rb` compile les fichiers XHTML vers un EPUB
destiné à la lecture sur liseuse.
Ces trois derniers scripts appellent le script nécessaire de
génération de sources correspondant s'ils ne trouvent pas les
sources.
Ces scripts n'ont été testé que sous Gnunux (et ne fonctionnent
probablement pas en dehors) et ont les dépendances suivantes :
* `ruby` avec les composants `date` et `i18n`
* `inkscape`
* `imagemagick`
* `pandoc`
* `texlive-full`
* `zip`
* `epubcheck`
(À COMPLÉTER)
## Quelques notes
......@@ -120,7 +125,7 @@ La suite est réalisée automatiquement par un jeu de scripts :
version dérivée, bien entendue (en respectant les termes de la
licence `CC-By-Sa`) ;
* vous pouvez poster des _issues_ si vous le souhaitez, que ce soit
* Vous pouvez poster des _issues_ si vous le souhaitez, que ce soit
pour suggérer quelque chose ou pour signaler une faute
d'orthographe, par exemple. Je répète, par contre, que cette BD
n'est pas collaborative, je ne dessine donc pas les scénarios
......
<?xml version="1.0" encoding="UTF-8"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OPS/content.opf" media-type="application/oebps-package+xml" />
</rootfiles>
</container>
# Informations légales
_METATITRE_ par Simon « Gee » Giraudot est mis à disposition selon les
termes de la licence Creative Commons Paternité - Partage des
Conditions Initiales à l’Identique 2.0 France.
[grisebouille.net](https://grisebouille.net/)
Cette licence s’applique à l’intégralité de ce présent document. Pour
plus de détails, je vous invite à faire de plus amples recherches sur
Internet concernant la licence
[CC-by-sa](https://creativecommons.org/licenses/by-sa/2.0/fr/).
![](images/Logo_CC_by_SA.png)
Pour faire simple, ce document est libre, vous avez donc le droit de le
partager, de le vendre, de le modifier, d’en extraire des parties, de le
réutiliser, bref, d’en faire absolument tout ce que vous voulez !
Il y a seulement 2 conditions obligatoires pour cela :
- toujours préciser la paternité de l’œuvre. Dans le cas présent, la
paternité doit être attribuée à Simon « Gee » Giraudot, avec une
référence au site [grisebouille.net](https://grisebouille.net) ;
- diffuser cette œuvre ou toute œuvre dérivée (ou utilisant une partie
de cette œuvre) sous la même licence, avec les mêmes droits et les
mêmes conditions d’utilisation. Histoire que tout cela reste
toujours libre.
À diffuser et à partager autant que vous le souhaitez !
_Vive la culture libre !_
application/epub+zip
\ No newline at end of file
% Class FramateX inspirée très fortement par la framaquette
% de Vincent Lozano & de Didier Roche, retravaillée par
% David Dauvergne (la Poule ou l'Oeuf) puis par
% Christophe Masutti (Framasoft)
\newcommand{\pouleVersion}{0.1}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{FramateX}[2008/11/06]
%-----------------------------------------------------------------------
%
% Avec des si...
%
\newif\ifversionenligne
%
\versionenlignetrue
\newif\ifminisommaire
\minisommairetrue
%
\newif\if@versionreport \@versionreportfalse
%-----------------------------------------------------------------------
% encodage
\RequirePackage[utf8]{inputenc}
%-----------------------------------------------------------------------
%
% Declaration des options
%
\DeclareOption{draft}{\PassOptionsToClass{draft}{book}}
\DeclareOption{versionpapier}{\versionenlignefalse}
\DeclareOption{versionenligne}{\versionenlignetrue}
\DeclareOption{sansminisommaire}{\minisommairefalse}
\DeclareOption{versionreport}{\@versionreporttrue}
\if@versionreport
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
\else
\DeclareOption*{\PassOptionsToClass{mer\CurrentOption}{book}}
\fi
%
% Exécution des options
%
\ProcessOptions
%
\if@versionreport
\LoadClass[a4paper]{report}
\else
\LoadClass[a4paper,twoside]{book}
\fi
%-----------------------------------------------------------------------
\RequirePackage{FramateX}
%\RequirePackage{dialogue} %%% MD ajout du 24-08
%----------------------------------------------------------------------
%
% les petits paquets à charger
%
\RequirePackage[frenchb]{babel}
\RequirePackage{csquotes}
% Polices
\RequirePackage{textcomp,relsize}
\RequirePackage{mflogo,bbm,pifont}
%\RequirePackage{fouriernc}
\RequirePackage{times}
\RequirePackage{helvet}
%\RequirePackage{bookman} %%% DM 08-12
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
% caractères
%\RequirePackage{xspace} %espace
\RequirePackage{soul} %Souligner
% base
\RequirePackage{enumerate} %listes
% graphics
\RequirePackage{picins} %figure dans un paragraphe
\RequirePackage{subfigure} %subfigure dans figure
\RequirePackage{wrapfig}
\RequirePackage{xcolor}
\RequirePackage{graphicx}
\RequirePackage{framed}
\RequirePackage{tikz} % tikz est utilise pour tracer les \boitemagique
% les tableaux
\RequirePackage{array,multirow,colortbl,longtable,multicol}
% légendes
\RequirePackage[labelsep=none]{caption}
% Math
\RequirePackage{amsmath,mathrsfs}
% Index
\RequirePackage{makeidx,index}
% Outils
\RequirePackage{calc}
\RequirePackage{ifthen}
\RequirePackage{float}
\RequirePackage{float}
% reinitialiser le compteur de notes de bas de page a chaque page
\RequirePackage[perpage]{footmisc}
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
\definecolor{fondtitre}{RGB}{130,130,130}
\definecolor{fonddeboite}{RGB}{232,232,232}
\definecolor{shadecolor}{RGB}{232,232,232}
%-----------------------------------------------------------------------
%
% hyperref qui pète les ouilles
%
\def\Hy@WarningNoLine#1{}
\def\Hy@Warning#1{}
%-----------------------------------------------------------------------
%%%%%%%%%% Boitemagique
\newcommand*{\boitemagique}[2]{
\begin{center}
\begin{tikzpicture}
% la boite
\node[rectangle,draw=fondtitre!100,fill=fonddeboite!100,inner sep=10pt, inner ysep=20pt] (mabox)
{
\begin{minipage}{12cm}
#2
\end{minipage}
};
% le titre de la boite
\node[fill=fondtitre!100, text=white, rectangle] at (mabox.north) {\sffamily\textbf{#1}};
\end{tikzpicture}
\end{center}
}
%%%%%% Encart %%%%%
\newcommand*{\boitesimple}[1]{%
\begin{shaded}
#1
\end{shaded}
}
%---------------------------------------------------------------------
%
% pour changer les marges localement (merci Marie Paul ;-)
%
%----------------------------------------------------------------------
\newenvironment{changemargin}[2]{\begin{list}{}{%
\setlength{\leftmargin}{0pt}%
\setlength{\rightmargin}{0pt}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\addtolength{\leftmargin}{#1}%
\addtolength{\rightmargin}{#2}%
}\item }{\end{list}}
\newenvironment{agrandirmarges}[2]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{0pt plus 1pt}%
\checkoddpage%
\ifcpoddpage
\setlength{\leftmargin}{-#1}\setlength{\rightmargin}{-#2}
\else
\setlength{\leftmargin}{-#2}\setlength{\rightmargin}{-#1}
\fi}\item }%
{\end{list}}
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
\AtEndDocument{%
}
%
% fin du fichier
%
\endinput
% Style FramateX inspiré très fortement par la framaquette
% de Vincent Lozano & de Didier Roche, retravaillé par
% David Dauvergne (la Poule ou l'Oeuf) puis par
% Christophe Masutti (Framasoft)
% gestion des index, biblio, glossaire...
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
% Couleurs
\RequirePackage{color}
\RequirePackage{xcolor}
\definecolor{fondgrisclair}{RGB}{232,232,232}
%-----------------------------------------------------------------------
% encarts
% environnement encart
\newlength{\marginencart}
%---------------------------------
% environnement encart fond gris
%environnement de l'encart gris
\newenvironment{encart}{%
\def\FrameCommand{\fcolorbox{fondgrisclair}{fondgrisclair}}%premiere couleur = cadre, la seconde = fond
\setlength{\fboxrule}{10pt}%epaisseur du cadre
\setlength{\fboxsep}{0pt}%distance du texte par rapport au cadre
\MakeFramed{\setlength{\hsize}{\textwidth-0.8pt-20pt-2\marginencart} \FrameRestore}}%
{\endMakeFramed}
%titre de l'encart gris
\newcommand{\titrencartgris}[1]
{\noindent{{\textbf{#1}}}}
%---------------------------------
%Encarts avec icones
\newcommand{\titrencart}[1]
{\indent{{\textsc{#1}}}}
\newenvironment{leftbarencart}{%
\def\FrameCommand{\color{black}\vrule width 0.8pt \hspace{10pt}}%
\setlength{\marginencart}{25pt}
\MakeFramed {\setlength{\hsize}{\dimexpr\textwidth-0.8pt-10pt-2\marginencart} \FrameRestore}}%
{\endMakeFramed}
% création d'une image pour le permier paragraphe d'un encart
% L'image se choisi au moment de créer l'encart dans le texte
% (voir dans le dossier /images)
\newlength{\padnota}
\newlength{\larnota}
\newlength{\indnota}
\newlength{\largligne}
\newcommand{\encarticone}[1]{
\setlength{\padnota}{5pt}
\setlength{\larnota}{10mm}
\setlength{\indnota}{-10pt}
\setlength{\largligne}{\textwidth-\indnota}
\parshape=2
\indnota\largligne
0pt\textwidth\noindent%
\raisebox{-\larnota+3mm}[0pt][0pt]{%
\makebox[0pt][r]{%
\includegraphics[width=8mm,height=8mm]{images/encarts/#1}%
\hspace*{\padnota}}}%
}
% figure dans l'encart
\newlength{\enccaptionbottomskip}
\newlength{\enccaptiontopskip}
\newlength{\encfigtopskip}
\setlength{\enccaptionbottomskip}{12pt}
\setlength{\enccaptiontopskip}{5pt}
\setlength{\encfigtopskip}{15pt}
\newenvironment{encfig}{%
\refstepcounter{figure}%
\vskip\encfigtopskip%
}%
{%
}
\newcommand{\enccaptionfig}[1]{%
\\[\enccaptiontopskip]%
\figurename~\thefigure{} \CaptionSeparator #1\\[\enccaptionbottomskip]}
\newenvironment{enctab}{%
\refstepcounter{table}%
\vskip\encfigtopskip%
}%
{%
}
% table dans l'encart
\newcommand{\enccaptiontab}[1]{%
\\[\enccaptiontopskip]%
\tablename~\thetable{} \CaptionSeparator #1\\[\enccaptionbottomskip]}
%-----------------------------------------------------------------------
% compatibilité avec french
\let\Numero\No
\let\numero\no
\ifx\undefined\up
\let\up\fup
\fi
%-----------------------------------------------------------------------
% pour changer le nom des chapitres en annexes
\let\appendixORIG\appendix
\renewcommand{\appendix}{%
\appendixORIG%
\renewcommand{\chaptername}{\appendixname}%
}
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
% épigraphe
\usepackage{epigraph}
% configuration des épigraphes
% épaisseur trait de séparation
\renewcommand{\epigraphrule}{0pt}
% taille du texte de l'épigraphe
\renewcommand{\epigraphsize}{\footnotesize} %%%% DM 08 12
% largeur de l'épigraphe
\setlength{\epigraphwidth}{.7\textwidth}
%-----------------------------------------------------------------------
% lettrines
\usepackage{lettrine}
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
% saut interparagraphe
\setlength{\parskip}{4pt plus 4pt minus 2pt}
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
% Citations
\renewenvironment{quotation}{\begin{list}{}{%
\itshape
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{0pt}%
\setlength{\rightmargin}{0pt}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{0pt plus 1pt}%
\addtolength{\leftmargin}{1.2cm}%
\addtolength{\rightmargin}{1.2cm}%
}\item }{\end{list}}
%-----------------------------------------------------------------------
% listes
\renewenvironment{itemize}{\setlength{\parskip}{0pt}}{\endlist}
%-----------------------------------------------------------------------
% Table des figures
\renewcommand{\listoffigures}[1]{%
\setlength{\parskip}{0pt plus 1.0pt}%
\if@twocolumn%
\@restonecoltrue \onecolumn%
\else%
\@restonecolfalse%
\fi%
\chapter*{#1
\@mkboth{#1}{#1}}%suppression de uppercase
\@starttoc{lof}%
\if@restonecol%
\twocolumn%
\fi%
\setlength{\parskip}{4pt plus 4pt minus 2pt}%
}
%-----------------------------------------------------------------------
% liste des tableaux
\renewcommand{\listoftables}[1]{%
\setlength{\parskip}{0pt plus 1.0pt}%
\if@twocolumn%
\@restonecoltrue \onecolumn%
\else%
\@restonecolfalse%
\fi%
\chapter*{#1
\@mkboth{#1}{#1}}%suppression de uppercase
\@starttoc{lot}%
\if@restonecol%
\twocolumn%
\fi%
\setlength{\parskip}{4pt plus 4pt minus 2pt}%
}
%-----------------------------------------------------------------------
%%%% Personaliser la table des matières
\RequirePackage{titletoc}
\titlecontents{part}%
[1.5em]% retrait à gauche
{\addvspace{1em plus 0pt}\bfseries\fontfamily{ccr}\selectfont}% matériel avant commun aux entrées numérotées ou pas
{\contentslabel{1.3em}}% on s'arrange avec le logo grisebouille
{\hspace{-1.3em}}% % on s'arrange avec le logo grisebouille
{\hfill\contentspage}% points de suspension et numéro de page
[\addvspace{-8pt}]% matériel après
\titlecontents{chapter}%
[1.5em]% retrait à gauche
{\addvspace{1em plus 0pt}\fontfamily{ccr}\selectfont}% matériel avant commun aux entrées numérotées ou pas
{\contentslabel{1.3em}}% avant lorsqu'il y a un numéro
{\hspace{-0.8em}}% avant lorsqu'il n'y a pas de numéro
{\hfill\contentspage}% points de suspension et numéro de page
[\addvspace{-8pt}]% matériel après
% Pour les sections et sous-sections:
\titlecontents{section}%
[3.8em]% retrait à gauche
{\addvspace{0pt}\small}% matériel avant commun aux entrées numérotées ou pas
{\contentslabel{2.3em}}% avant lorsqu'il y a un numéro
{\hspace{-2.3em}}% avant lorsqu'il n'y a pas de numéro
{\titlerule*[0.75em]{.}\contentspage}% points de suspension et numéro de page
[\addvspace{-4pt}]% matériel après
\titlecontents{subsection}%
[4.8em]% retrait à gauche
{\addvspace{-2pt}\footnotesize}% matériel avant commun aux entrées numérotées ou pas
{\contentslabel{3em}}% avant lorsqu'il y a un numéro
{\hspace{-2.3em}}% avant lorsqu'il n'y a pas de numéro
{\titlerule*[0.75em]{.}\contentspage}% points de suspension et numéro de page
[\addvspace{-4pt}]% matériel après
%-----------------------------------------------------------------------
% index
% la création de l'index se fait sans makeindex
% mais en utilisant le package makeidx
\makeatletter
\renewenvironment{theindex}
{\columnseprule \z@
\columnsep 35\p@
\begin{multicols}{2}%
\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\let\item\@idxitem
\footnotesize
\raggedright}
{\end{multicols}}
\makeatother
%--------------------------------
% titre 4 et 5
\setcounter{secnumdepth}{5}