Changeset 90079 in spip-zone


Ignore:
Timestamp:
Jun 10, 2015, 12:57:26 PM (5 years ago)
Author:
dorch@…
Message:
  • Rationalisation du code formulaires/fchmlatex.html et ajout de commentaires
  • Embellissements esthétiques et langue
  • Correction de bug de non prise en compte de la langue dans les exports (cf. http://sic.g-eau.net/mantis/view.php?id=1156)
Location:
_plugins_/chmlatex/trunk
Files:
2 added
1 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/chmlatex/trunk/chmlatex_options.php

    r89897 r90079  
    55return $texte;
    66}
    7 /**
    8  * Conversion des listes SPIP en listes latex avec l'environnement itemize
    9  * @param $t le texte à traiter
    10  * @param $type caractère de définition du type de liste et environnement latex correspondant
    11  * @return le texte traité
    12  * @author David Dorchies
    13  * @date 02/06/2015
    14  */
    15 function latex_liste($t,$type=array('-*','itemize')){
    16     // On découpe le texte en lignes
    17     $lignes = explode("\n",$t);
    18     $bDansListe = false;
    19     $patsize = strlen($type[0]);
    20     $ret = array();
    21     foreach($lignes as $ligne) {
    22         if(substr($ligne,0,$patsize)==$type[0]) {
    23             // On est sur un item de liste !
    24             if(!$bDansListe) {
    25                 // C'est un début de liste
    26                 $ret[]='\begin{'.$type[1].'}';
    27                 $bDansListe = true;
    28             }
    29             $ret[] = '\item '.substr($ligne,$patsize);
    30         }
    31         else {
    32             if ($bDansListe && trim($ligne)!='') {
    33                 // On est sorti de la liste
    34                 if(trim(end($ret))=='') {array_pop($ret);}
    35                 $ret[] = '\end{'.$type[1].'}';
    36                 $ret[] = '';
    37                 $bDansListe = false;
    38             }
    39             $ret[] = $ligne;
    40         }
    41     }
    42     if($bDansListe) {
    43         // Il faut fermer la liste
    44         $ret[] = '\end{'.$type[1].'}';
    45     }
    46     return implode("\n",$ret);
    47 }
    487
    49 function propre_exportdoclatex($t)
     8function chmlatex_propre_latex($t)
    509{
    5110
    52         $t = latex_echappe_equation($t,true);
    53         //$t = latex_traiter_modeles($t);
    54         $t = traiter_modeles($t);
    55        
    56        
    57    
    58         $t = appliquer_regles_wheel($t,array('latex/latex.yaml'));
    59         $t = latex_echappe_coloration($t);
    60         $t = echappe_html($t);
    61        
    62         $t = echappe_retour(echappe_retour($t),'latex');
    63         $t = appliquer_regles_wheel($t,array('latex/latex-retour.yaml'));
    64         $t = preg_replace("#\^#iU",'\$\\hat{~}\$',$t);
     11    $t = latex_echappe_equation($t,true);
     12    //$t = latex_traiter_modeles($t);
     13    $t = traiter_modeles($t);
     14
     15    // Application du filtre Belles Puces http://contrib.spip.net/Belles-puces
     16    $t = preg_replace('/^-\s+/m','-* ',$t);
     17
     18    $t = appliquer_regles_wheel($t,array('latex/latex.yaml'));
     19    $t = latex_echappe_coloration($t);
     20    $t = echappe_html($t);
     21
     22    $t = echappe_retour(echappe_retour($t),'latex');
     23    $t = appliquer_regles_wheel($t,array('latex/latex-retour.yaml'));
     24    $t = preg_replace("#\^#iU",'\$\\hat{~}\$',$t);
    6525    $t = latex_echappe_equation($t,false);
    66          
    67         // On traite les listes à puce et numérotées
    68     $t = preg_replace('/^-\s+/m','-* ',$t);
    69     $t = latex_liste($t,array('-*','itemize'));
    70     $t = latex_liste($t,array('-#','enumerate'));
    71        
    72         $t = preg_replace("#<u>#iU",'\\underline{',$t);
    73         $t = preg_replace("#</u>#iU",'}',$t);
    74         $t = preg_replace("#<p.*>#iU",' ',$t);
    75         $t = preg_replace("#</p>#iU",' ',$t);
    76         $t = preg_replace("#<sup>#iU",'\$\^{',$t);
    77         $t = preg_replace("#</sup>#iU",'}\$',$t);
    78         $t = preg_replace("#<sub>#iU",'\$_{',$t);
    79         $t = preg_replace("#</sub>#iU",'}\$',$t);
    80         $t = preg_replace("#<code.*>#iU",' ',$t);
    81         $t = preg_replace("#</html>#iU",' ',$t);
    82         $t = preg_replace("#<html>#iU",' ',$t);
    83         //$t = preg_replace("#<latex\_strike>#iU",'\\sout{',$t);
    84         $t = preg_replace("#</strike>#iU",'}',$t);
    85         //$t = preg_replace("#<latex\_table>#iU",' ',$t);
    86         $t = preg_replace("#<tr>#iU",' ',$t);
    87         $t = preg_replace("#</td> </tr>#iU",' ',$t);
    88         $t = preg_replace("#</tr>#iU",' ',$t);
    89         $t = preg_replace("#<td>#iU",' ',$t);
    90         $t = preg_replace("#</td>#iU",' ',$t);
    91         $t = preg_replace("#</table>#iU",' ',$t);
    92         $t = preg_replace("#<table>#iU",' ',$t);
    93         $t = preg_replace("#</span>#iU",' ',$t);
    94         $t = preg_replace("#<span class='(.*)'>#iU",' ',$t);
    95        
    96         //$t = preg_match_all("#<span class='(.*)'>#iU",$t,$m);
    97         //spip_log($m,'m');
    98         $t = str_replace("<latex\\_strike>",'\\sout{',$t);
    99         $t = str_replace("<latex\\_table>",'',$t);
    100         $t = str_replace("\\begin{english}",'',$t);
    101         $t = str_replace("\\end{english}",'',$t);
    102         $t = str_replace("\\end{minted}",'',$t);
    103         $t = str_replace("\\begin{minted}",'',$t);
    104         $t = str_replace("\\end\\emph{english}",'',$t);
    105         $t = str_replace("\\end\\emph{minted}",'',$t);
    106         $t = str_replace("\\verb¡",'',$t);
    107         $t = str_replace("\\$",'$',$t);
    108        
    109         $t = str_replace("\\&gt;",'>',$t);
    110         $t = str_replace("\\&lt;",'<',$t);
    111         $t = str_replace("\\&eacute;",'é',$t);
    112         $t = str_replace("\\&egrave;",'è',$t);
    113         $t = str_replace("\\&aegrave;",'à',$t);
    114         //$t = str_replace("\\&\\#039;",'`',$t);
    115         $t = str_replace("\\&quot;",'"',$t);
    116         $t = str_replace("\\_",'_',$t);
    117         //$t = str_replace("latex\\_",'',$t);
    118         $t = str_replace("\\&reg;",' \textregistered',$t);
    119         $t = str_replace("\\&ge;",'≥',$t);
    120         $t = str_replace("\\&le;",'≤',$t);
    121         //$t = str_replace("<latex\\_table>",'',$t);
    122         //$t = str_replace("\\pmatrix\\emph{",'\\pmatrix{',$code);
    123        
    124        
    125        
    126         return $t;
     26
     27    $t = preg_replace("#<u>#iU",'\\underline{',$t);
     28    $t = preg_replace("#</u>#iU",'}',$t);
     29    $t = preg_replace("#<p.*>#iU",' ',$t);
     30    $t = preg_replace("#</p>#iU",' ',$t);
     31    $t = preg_replace("#<sup>#iU",'\$\^{',$t);
     32    $t = preg_replace("#</sup>#iU",'}\$',$t);
     33    $t = preg_replace("#<sub>#iU",'\$_{',$t);
     34    $t = preg_replace("#</sub>#iU",'}\$',$t);
     35    $t = preg_replace("#<code.*>#iU",' ',$t);
     36    $t = preg_replace("#</html>#iU",' ',$t);
     37    $t = preg_replace("#<html>#iU",' ',$t);
     38    $t = preg_replace("#</strike>#iU",'}',$t);
     39    $t = preg_replace("#<tr>#iU",' ',$t);
     40    $t = preg_replace("#</td> </tr>#iU",' ',$t);
     41    $t = preg_replace("#</tr>#iU",' ',$t);
     42    $t = preg_replace("#<td>#iU",' ',$t);
     43    $t = preg_replace("#</td>#iU",' ',$t);
     44    $t = preg_replace("#</table>#iU",' ',$t);
     45    $t = preg_replace("#<table>#iU",' ',$t);
     46    $t = preg_replace("#</span>#iU",' ',$t);
     47    $t = preg_replace("#<span class='(.*)'>#iU",' ',$t);
     48
     49    $t = str_replace("<latex\\_strike>",'\\sout{',$t);
     50    $t = str_replace("<latex\\_table>",'',$t);
     51    $t = str_replace("\\begin{english}",'',$t);
     52    $t = str_replace("\\end{english}",'',$t);
     53    $t = str_replace("\\end{minted}",'',$t);
     54    $t = str_replace("\\begin{minted}",'',$t);
     55    $t = str_replace("\\end\\emph{english}",'',$t);
     56    $t = str_replace("\\end\\emph{minted}",'',$t);
     57    $t = str_replace("\\verb¡",'',$t);
     58    $t = str_replace("\\$",'$',$t);
     59
     60    $t = str_replace("\\&gt;",'>',$t);
     61    $t = str_replace("\\&lt;",'<',$t);
     62    $t = str_replace("\\&eacute;",'é',$t);
     63    $t = str_replace("\\&egrave;",'è',$t);
     64    $t = str_replace("\\&aegrave;",'à',$t);
     65    $t = str_replace("\\&quot;",'"',$t);
     66    $t = str_replace("\\_",'_',$t);
     67    //$t = str_replace("latex\\_",'',$t);
     68    $t = str_replace("\\&reg;",' \textregistered',$t);
     69    $t = str_replace("\\&ge;",'≥',$t);
     70    $t = str_replace("\\&le;",'≤',$t);
     71
     72    return $t;
    12773}
    12874?>
  • _plugins_/chmlatex/trunk/formulaires/fchmlatex.html

    r89897 r90079  
     1[(#REM) Message de fin d'export]
    12
     3[
     4[(#BOITE_OUVRIR{<:chmlatex:export_termine:>,success})]
     5<h2>(#ENV*{message_ok})</h2>
     6#BOITE_FERMER
     7]
    28
     9[
     10[(#BOITE_OUVRIR{<:pass_erreur:>,error})]
     11(#ENV*{message_erreur})
     12#BOITE_FERMER
     13]
     14
     15[(#EDITABLE|oui)
    316<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}">
    417<h3 class='titrem'>Options de génération de l'export</h3>
    5 
    6 
    7     [<p class='formulaire_ok'>(#ENV*{message_ok})</p>]
    8     [<p class='formulaire_erreur'>(#ENV*{message_erreur})</p>]
    9      <BOUCLE_editable(CONDITION){si #ENV{editable}|oui}>
    1018    <form action='[(#ENV{action}|parametre_url{format|num|secteur|lang,''})]' method='post'>
    1119        #ACTION_FORMULAIRE{#ENV{action}}
    1220        <label><:chmlatex:format:>&nbsp;:</label>
    1321        <br />
    14         <input id="zip" name="format" type="radio" value="zip"  CHECKED />
    15         <label for="zip"><:chmlatex:format_html:></label>
     22        <input id="html" name="format" type="radio" value="html"  CHECKED />
     23        <label for="html"><:chmlatex:format_html:></label>
    1624        <br />
    17         <input id="pdf" name="format" type="radio" value="pdf" />
    18         <label for="pdf"><:chmlatex:format_latex:></label>
     25        <input id="tex" name="format" type="radio" value="tex" />
     26        <label for="tex"><:chmlatex:format_latex:></label>
    1927        <br />
    2028        <br />
    21         [(#SAISIE{selecteur_langue,lang,label=<:chmlatex:langue:>})]
     29        [(#SAISIE{selecteur_langue,langue,label=<:chmlatex:langue:>})]
    2230        <br />
    2331        <br />
     
    3139
    3240    </form>
    33     </BOUCLE_editable>
    34 
    35 
    36 
    37 
    3841</div>
    39 
     42]
  • _plugins_/chmlatex/trunk/formulaires/fchmlatex.php

    r89897 r90079  
    66function formulaires_fchmlatex_charger_dist($self)
    77{
    8     $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
    9     $locallocal = _DIR_RACINE  . _NOM_TEMPORAIRES_ACCESSIBLES;
    10     if (isset($_GET['num']))//si il y a un parametre num dans l'url alors nous ne plus au début de l'execution du script
    11                 {
    12                         $f = file_get_contents($tmptmp."liste.yaml");
    13                         $data = yaml_decode($f);
    14                         $num = $_GET['num'];
    15                         $langue = $_GET['lang'];
    16                         $a = $data[$num];
    17 
    18                         $max = count($data);
    19                         $secteur = $_GET['secteur'];
    20 
    21                         if (count($data) != 0)
    22                             {
    23                                 $avancement = round($num*100/count($data),0);
    24                             }
    25 
    26                             if($_GET['format'] == 0)// format HTML pour CHM
    27                                 {
    28                                     if ($num  != (count($data)))
    29                                         {
    30                                             echo _T('chmlatex:generation_html').'&nbsp;: </br>';
    31                                             echo "<progress id='barre-progression' max=100 value=$avancement></progress> <span id='lbl-avancement'>$avancement%</span>";
    32                                             action_chmlatexhtml($a,$num,$secteur,$langue);
    33                                             $num = $num + 1;
    34                                             $url = parametre_url($self, 'num', $num);
    35                                             $url = str_replace('&amp;','&',$url);
    36                                             echo '<script>window.location = "'.$url.'"</script>';
    37 
    38                                         }
    39 
    40                                     else
    41                                         {
    42 
    43                                             $avancement = 100;
    44                                             zipDir($tmptmp.'site',$locallocal.'site.zip');
    45                                             $loc = $locallocal.'site.zip';
    46                                             echo "<a href='$loc'>"._T('chmlatex:telecharger_html')."</a>";
    47                                         }
    48 
    49 
    50                                 }
    51 
    52                             elseif($_GET['format'] == 1 )// format Latex pour PDF
    53                                 {
    54 
    55                                     if ($num  != (count($data)) )
    56                                         {
    57 
    58                                             echo _T('chmlatex:generation_latex').'&nbsp;: </br>';
    59                                             echo "<progress id='barre-progression' max=100 value=$avancement></progress> <span id='lbl-avancement'>$avancement%</span>";
    60                                             action_chmlatextex($a,$num,$secteur,$langue);
    61                                             $num = $num + 1;
    62                                             $url = parametre_url($self, 'num', $num);
    63                                             $url = str_replace('&amp;','&',$url);
    64                                             echo '<script>window.location = "'.$url.'"</script>';
    65 
    66                                         }
    67 
    68                                     else
    69                                         {
    70                                             $avancement = 100;
    71                                             zipDir($tmptmp.'tex', $locallocal.'tex.zip');
    72                                             $loc = $locallocal.'tex.zip';
    73                                             echo "<a href='$loc'>"._T('chmlatex:telecharger_latex')."</a>";
    74                                         }
    75 
    76                                 }
    77 
    78                 }
    79 
    80         return array();
    81 
     8    if (isset($_GET['num']))
     9    {
     10        //si il y a un parametre num dans l'url alors nous ne plus au début de l'execution du script
     11        $num = _request('num');
     12        $sDirExport = getDirExport();
     13        $data = yaml_decode_file($sDirExport.'liste.yaml');
     14        $a = $data[$num];
     15        $max = count($data);
     16
     17        if ($max != 0) $avancement = round($num*100/count($data),0);
     18
     19        $format = _request('format');
     20
     21        if($num<$max)
     22        {
     23            $code = recuperer_fond('inc/chmlatex_progression', array(
     24                'boite_titre' => _T("chmlatex:generation_$format"),
     25                'titre_objet' => _T('public:'.$a['type']).' '.$a['id'].' : '.$a['titre'],
     26                'progression' => $avancement)
     27            );
     28            //~ echo _T("chmlatex:generation_$format").'&nbsp;: </br>';
     29            //~ echo "<progress id='barre-progression' max=100 value=$avancement></progress> <span id='lbl-avancement'>$avancement&nbsp;%</span>";
     30
     31            echo $code;
     32
     33            $secteur = _request('secteur');
     34            $sFunctionAction = $format.'_export';
     35            $sFunctionAction($a,$num,$secteur,_request('langue'));
     36            $num = $num + 1;
     37            $url = parametre_url($self, 'num', $num);
     38            $url = str_replace('&amp;','&',$url);
     39            echo '<script>window.location = "'.$url.'"</script>';
     40        }
     41        elseif($num==$max)
     42        {
     43            $sZipFileName = getZipFileName();
     44            zipDir($sDirExport ,$sZipFileName);
     45            return array('message_ok'=>"<a href='$sZipFileName'>"._T("chmlatex:telecharger_$format")."</a>");
     46        }
     47    }
     48    return array();
    8249}
    8350
     
    8855    // verifier que les champs obligatoires sont bien la :
    8956    foreach(array('secteur_region') as $obligatoire)
    90             if (!_request($obligatoire)) $erreurs[$obligatoire] = 'Ce champ est obligatoire';
     57        if (!_request($obligatoire)) $erreurs[$obligatoire] = 'Ce champ est obligatoire';
    9158
    9259    if (count($erreurs))
     
    9663
    9764
     65/**
     66 * Traitement du formulaire CVT :
     67 * Préparation de l'export et rechargement javascript de la page pour traiter le premier objet
     68 * @param $self adresse de la page du formulaire
     69 * @author Hicham Gartit, David Dorchies
     70 */
    9871function formulaires_fchmlatex_traiter_dist($self)
    9972{
    100             $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
    101             $locallocal = _DIR_RACINE  . _NOM_TEMPORAIRES_ACCESSIBLES;
    102             $url = explode("?",$self);
    103             echo '<script>window.location = "'.$url.'"</script>';
    104 
    105             if (file_exists($tmptmp."site"))
    106             {
    107                 delTree($tmptmp."site");
    108             }
    109 
    110             if (file_exists($locallocal."site.zip"))
    111             {
    112                 unlink($locallocal."site.zip");
    113             }
    114 
    115             if (file_exists($locallocal."tex.zip"))
    116             {
    117                 unlink($locallocal."tex.zip");
    118             }
    119 
    120             if (file_exists($tmptmp."tex"))
    121             {
    122                 delTree($tmptmp."tex");
    123             }
    124 
    125             if (file_exists($tmptmp."liste.yaml"))
    126             {
    127                 unlink($tmptmp."liste.yaml");
    128             }
    129 
    130 
    131             $format = _request('format');
    132             $langue = _request('lang');
    133             $secteur = _request('secteur_region');
    134 
    135 
    136             if (!isset($_GET['num']))
    137             {
    138                 cree_yaml($langue,$secteur);
    139             }
    140 
    141 
    142 
    143             if(strcmp($format, 'zip') == 0)
    144             {
    145                     if (!file_exists($tmptmp."site"))
    146                     {
    147                             mkdir($tmptmp."site", 0777);
    148                     }
    149 
    150                     if (!file_exists($tmptmp."site/images"))
    151                     {
    152                             mkdir($tmptmp."site/images", 0777);
    153                     }
    154                     $val = 0;
    155             }
    156 
    157             else
    158             {
    159                     if (!file_exists($tmptmp."tex"))
    160                     {
    161                         mkdir($tmptmp."tex", 0777);
    162                     }
    163 
    164                     if (!file_exists($tmptmp."tex/images"))
    165                     {
    166                         mkdir($tmptmp."tex/images", 0777);
    167                     }
    168 
    169                     if (!file_exists($tmptmp."tex/inclus"))
    170                     {
    171                         mkdir($tmptmp."tex/inclus", 0777);
    172                     }
    173                     $val = 1;
    174 
    175             }
    176          spip_log($langue, 'laaaang');
    177             $url = parametre_url($self, 'num', '0');
    178             $url = parametre_url($url, 'format', $val);
    179             $url = parametre_url($url, 'secteur', $secteur);
    180             $url = parametre_url($url, 'lang', $langue);
    181             $url = str_replace('&amp;','&',$url);
    182             echo'<script>window.location = "'.$url.'"</script>';
    183             return array();
    184 
    185 }
    186 
    187 
    188 function imagetex($matches)
    189 {
    190     $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
     73    $format = _request('format');
     74    $langue = _request('langue');
     75    $secteur = _request('secteur_region');
     76
     77    // Suppression du dossier d'export
     78    $sDirExport = getDirExport();
     79    if (file_exists($sDirExport)) delTree($sDirExport);
     80    // Suppression du ZIP
     81    $sZipFileName = getZipFileName();
     82    if (file_exists($sZipFileName)) unlink($sZipFileName);
     83    // Suppression du YAML
     84    if (file_exists($sDirExport.'liste.yaml')) unlink($sDirExport.'liste.yaml');
     85    // Création des dossiers d'export
     86    if (!file_exists($sDirExport)) mkdir($sDirExport, 0777);
     87    if (!file_exists($sDirExport.'images')) mkdir($sDirExport.'images', 0777);
     88    if ($format=='tex' && !file_exists($sDirExport.'inclus'))
     89        mkdir($sDirExport.'inclus', 0777);
     90    // Création du fichier YAML contenant la liste des rubriques et articles du secteur
     91    cree_yaml($langue,$secteur);
     92    // Construction de l'URL de rechargement javasscript du formulaire
     93    $url = parametre_url($self, 'num', '0');
     94    $url = parametre_url($url, 'format', $format);
     95    $url = parametre_url($url, 'secteur', $secteur);
     96    $url = parametre_url($url, 'langue', $langue);
     97    $url = str_replace('&amp;','&',$url);
     98    echo'<script>window.location = "'.$url.'"</script>';
     99    return array();
     100}
     101
     102
     103/**
     104 * Fonction pour transformer les balises img en \includegraphics
     105 */
     106function tex_img2includegraphics($matches)
     107{
    191108    $chemin = $matches[1];
    192     $chem = $matches[0];
    193     $d = $tmptmp."tex/images/";
    194     $nomimg = pathinfo($chemin, PATHINFO_FILENAME);
    195     $extimg = pathinfo($chemin, PATHINFO_EXTENSION);
     109
     110    if(substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
     111    {
     112        $chemin = str_replace(' ','%20', $chemin);
     113        $source = $chemin;
     114    }
     115    else
     116    {
     117        $source = '../'.$chemin;
     118    }
     119    return '\includegraphics{'.$source.'}';
     120}
     121
     122
     123/**
     124 * Traitement des balises latex includegraphics - copie des images
     125 */
     126function tex_copie_images($matches)
     127{
     128    $d = getDirExport()."images/";
     129    $nomimg = pathinfo($matches[1], PATHINFO_FILENAME);
     130    $extimg = pathinfo($matches[1], PATHINFO_EXTENSION);
    196131    $ext = substr($extimg , 0, 3);
    197     $chemin = str_replace($extimg,$ext,$chemin);
     132    $chemin = str_replace($extimg,$ext,$matches[1]);
    198133    $nm = $nomimg.'.'.$ext;
    199134    $nom = str_replace("\\", "", $nm);
    200135
    201 
    202         if(substr($chem, 0, strlen('includegraphics{')) === 'includegraphics{')
    203         {
    204             if(strstr($chemin, '}'))
    205                 {
    206                     $chemin = substr($chemin, 0, strpos($chemin, "}"));
    207                 }
    208 
    209 
    210             $chemin = str_replace('%20',' ', $chemin);
    211             if(strstr($nom, '}'))
    212                 {
    213                     $nom = substr($nom, 0, strpos($nom, "}"));
    214                 }
    215             $dest = $d.$nom;
    216             $chemin = str_replace("\\_",'_',$chemin);
    217 
    218             copy($chemin,$dest);
    219                 if ($ext == 'gif')
    220                 {
    221                     $ext = 'png';
    222                     $n = $nomimg.'.png';
    223                     $n1 = str_replace("\\", "", $n);
    224                     if (imagepng(imagecreatefromstring(file_get_contents($d.$nom)), $d.$n1))
    225                         {
    226                             unlink($d.$nom);
    227                         }
    228                 }
    229             $nm = $nomimg.'.'.$ext;
    230             $nom = str_replace("\\", "", $nm);
    231             if(strstr($nom, '}'))
    232                 {
    233                     $nom = substr($nom, 0, strpos($nom, "}"));
    234                 }
    235             $copie = 'images/'.$nom;
    236             $ar = getimagesize ($chemin);
    237 
    238             if ($ar[0] > 320 || $ar[1] >240 )
     136    if(strstr($chemin, '}'))
     137    {
     138        $chemin = substr($chemin, 0, strpos($chemin, "}"));
     139    }
     140
     141    $chemin = str_replace('%20',' ', $chemin);
     142    if(strstr($nom, '}'))
     143    {
     144        $nom = substr($nom, 0, strpos($nom, "}"));
     145    }
     146    $dest = $d.$nom;
     147    $chemin = str_replace("\\_",'_',$chemin);
     148
     149    copy($chemin,$dest);
     150    if ($ext == 'gif')
     151    {
     152        $ext = 'png';
     153        $n = $nomimg.'.png';
     154        $n1 = str_replace("\\", "", $n);
     155        if (imagepng(imagecreatefromstring(file_get_contents($d.$nom)), $d.$n1))
    239156            {
    240             //redimensionner l'image...
    241 
    242 
     157                unlink($d.$nom);
    243158            }
    244             $include = str_replace('includegraphics{','includegraphics[max width=\textwidth]{',$matches[0]);
    245             $ret = str_replace($matches[1],$nom,$include);
    246 
    247 
    248 
    249         }
    250         else
    251         {
    252                 if(substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
    253                 {
    254                     $chemin = str_replace(' ','%20', $chemin);
    255                     $source = $chemin;
    256                 }
    257 
    258                 else
    259                 {
    260                     $source = '../'.$chemin;
    261                 }
    262             $ret = "\includegraphics{".$source."}";
    263             //$ret = str_replace($matches[1],$source,$matches[0]);
    264         }
    265 
    266 
    267 
    268     return $ret;
    269 }
    270 
    271 
     159    }
     160    $nm = $nomimg.'.'.$ext;
     161    $nom = str_replace("\\", "", $nm);
     162    if(strstr($nom, '}'))
     163    {
     164        $nom = substr($nom, 0, strpos($nom, "}"));
     165    }
     166    $copie = 'images/'.$nom;
     167    $include = str_replace('includegraphics{','includegraphics[max width=\textwidth]{',$matches[0]);
     168    return str_replace($matches[1],$nom,$include);
     169}
     170
     171
     172/**
     173 * Post-traitement d'une page pour l'export Latex
     174 * @param $code code de la page à traiter
     175 * @return Code traité
     176 */
     177function tex_post_traitement($code) {
     178    //Traitement des images
     179    $code = preg_replace_callback('#<img.*src="(.*)".*>#iU','tex_img2includegraphics',$code);
     180    $code = preg_replace_callback("#<img.*src='(.*)'.*>#iU",'tex_img2includegraphics',$code);
     181    $code = preg_replace_callback("#\\includegraphics{(.*)}#i",'tex_copie_images',$code);
     182    $code = str_replace("\\\\includegraphics{",'\\includegraphics{',$code);
     183    return $code;
     184}
     185
     186
     187/**
     188 * Renvoie le dossier d'exportation
     189 * @author David Dorchies
     190 * @date 09/06/2015
     191 */
     192function getDirExport() {
     193    $s = _DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES;
     194    $s .= _request('format').'_'._request('langue').'/';
     195    return $s;
     196}
     197
     198
     199/**
     200 * Renvoie le nom du fichier ZIP
     201 * @author David Dorchies
     202 * @date 09/06/2015
     203 */
     204function getZipFileName() {
     205    $s = _DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES;
     206    $s .= _request('format').'_'._request('langue').'.zip';
     207    return $s;
     208}
     209
     210
     211/**
     212 * Traitement des balises img pour export HTML/CHM.
     213 * Copie du fichier image dans le dossier d'export et modification du ilen
     214 * @param $matches [0]: balise img, [1]: lien vers l'image
     215 * @return lien modifié pour pointer vers le dossier d'export
     216 * @author Hicham Gartit
     217 */
    272218function imagehtml($matches)
    273219{
    274     $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
     220    $langue = $_GET['langue'];
    275221    $chemin = $matches[1];
    276222    $nomimg = pathinfo($chemin, PATHINFO_FILENAME);
     
    278224    $nom = $nomimg.'.'.$extimg;
    279225
    280         if(substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
    281             {
    282                 $chemin = str_replace(' ','%20', $chemin);
    283                 $source = $chemin;
    284             }
    285 
    286         else
    287             {
    288                 $source = '../'.$chemin;
    289             }
    290 
    291     $d = $tmptmp."site/images/";
    292     $dest = $d.$nom;
     226    if(substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
     227    {
     228        $chemin = str_replace(' ','%20', $chemin);
     229        $source = $chemin;
     230    }
     231    else
     232    {
     233        $source = '../'.$chemin;
     234    }
     235    $dest = getDirExport().'images/'.$nom;
    293236    copy($source,$dest);
    294237    $copie = 'images/'.$nom;
    295238    $ret = $ret = str_replace($matches[1],$copie,$matches[0]);
    296     //return '<img src="'.$copie.'">';
    297239    return $ret;
    298 
    299 }
    300 
    301 
    302 function lien($matches)
    303 {
    304     $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
     240}
     241
     242
     243/**
     244 * Traitement des liens entre articles et rubriques pour l'export HTML/CHM
     245 * @param
     246 * @author Hicham Gartit
     247 */
     248function html_lien($matches)
     249{
    305250    $chemin = $matches[1];
    306     $chem = $matches[0];
    307251    $nomf = pathinfo($chemin, PATHINFO_FILENAME);
    308252    $ext = pathinfo($chemin, PATHINFO_EXTENSION);
     
    310254    $id = 0;
    311255
    312         if(substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
     256    if(substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
     257    {
     258        if(substr($chemin, 0, strlen($GLOBALS['meta']['adresse_site'].'/ecrire/?exec=')) === $GLOBALS['meta']['adresse_site'].'/ecrire/?exec=')
    313259        {
    314                 $source = $chemin;
    315                 if(substr($chemin, 0, strlen($GLOBALS['meta']['adresse_site'].'/ecrire/?exec=')) === $GLOBALS['meta']['adresse_site'].'/ecrire/?exec=')
    316                 {
    317 
    318                     if(strstr($chemin, 'exec=article'))
    319                         {
    320                             $id = substr(strstr($chemin, "id_article="),11);
    321                             $type = 'article';
    322                         }
    323 
    324                     else if(strstr($chemin, 'exec=rubrique'))
    325                         {
    326                             $id = substr(strstr($chemin, "id_rubrique="),12);
    327                             $type = 'rubrique';
    328                         }
    329                     if(strstr($id, '#'))
    330                         {
    331                             $idd= substr($id, 0, strpos($id, "#"));
    332                         }
    333                     else
    334                         {
    335                             $idd = $id;
    336                         }
    337                     $nom = $type.$idd.'.html';
    338                     //$return ='href="'.$nom.'"';
    339                     $return = str_replace($matches[1],$nom,$matches[0]);
    340                 }
    341 
    342                 elseif(!substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
    343                 {
    344                 $source = '';
    345                 $return = $matches[0];
    346 
    347                 }
     260            if(strstr($chemin, 'exec=article'))
     261            {
     262                $id = substr(strstr($chemin, "id_article="),11);
     263                $type = 'article';
     264            }
     265            else if(strstr($chemin, 'exec=rubrique'))
     266            {
     267                $id = substr(strstr($chemin, "id_rubrique="),12);
     268                $type = 'rubrique';
     269            }
     270            $aId = explode('#',$id); // Traitement des ancres
     271            $id = $aId[0];
     272            $nom = $type.$idd.'.html';
     273            if(isset($aId[1])) $nom .= '#'.$aId[1];
     274            return str_replace($matches[1],$nom,$matches[0]);
    348275        }
    349 
    350         else
    351         {
    352             $source = '../'.$chemin;
    353             //$return = 'href="'.$chemin.'"';
    354             $return = str_replace($matches[1],$chemin,$matches[0]);
    355         }
    356 
    357     return $return;
    358 
    359 }
    360 
    361 
    362 function jscss($matches)
    363 {
    364     $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
    365     $chemin = $matches[1];
    366     $chem = $matches[0];
    367     $nomf = pathinfo($chemin, PATHINFO_FILENAME);
    368     $ext = pathinfo($chemin, PATHINFO_EXTENSION);
    369     $nom = $nomf.'.'.$ext;
    370 
    371     if(substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
    372         {
    373                 $source = $chemin;
    374         }
    375 
     276    }
     277    return $matches[0];
     278}
     279
     280
     281/**
     282 * Ecriture de la liste des articles et rubriques dans liste.yaml
     283 */
     284function cree_yaml($langue,$secteur)
     285{
     286                $sDirExport = getDirExport();
     287                $yaml = recuperer_fond("yaml/index", array('id_rubrique' => $secteur,'lang' => $langue,));
     288                file_put_contents($sDirExport.'liste.yaml',$yaml);
     289}
     290
     291
     292/**
     293 * Export HTML/CHM
     294 */
     295function html_export($a,$num,$secteur,$langue)
     296{
     297     $sDirExport = getDirExport();
     298     if ($num == 0)
     299    {
     300        // Rubrique parente
     301        $t = recuperer_fond("chm/index", array('id_rubrique' => $secteur,'lang' => $langue,));
     302        $rubriqueParent = $sDirExport."rubrique$secteur.html";
     303        file_put_contents($rubriqueParent ,$t);
     304        copy($rubriqueParent,$sDirExport.'index.html');
     305
     306        // Fichiers HHC, HHK et HHP
     307        $t = recuperer_fond("hhc/index", array('id_rubrique' => $secteur,'lang' => $langue,));
     308        file_put_contents($sDirExport.'chmlatex.hhc',$t);
     309        $t = recuperer_fond("chm/hhk", array('id_rubrique' => $secteur,'lang' => $langue,));
     310        file_put_contents($sDirExport.'chmlatex.hhk',$t);
     311        $t = recuperer_fond("chm/hhp", array('id_rubrique' => $secteur,'lang' => $langue,));
     312        file_put_contents($sDirExport.'chmlatex.hhp',$t);
     313
     314        // fichier chm/css.html : traitement des images
     315        $t = recuperer_fond("chm/css");
     316        $t = preg_replace_callback("#url\('(.*)'\);#iU",'imagehtml',$t);
     317        file_put_contents($sDirExport.'chm.css',$t);
     318    }
     319
     320    //Traitement des pages HTML contenues dans liste.yaml
     321    $id = $a['id'];
     322    if($a['type']=='article')
     323    {
     324        // traiter article article#ID_ARTICLE.html
     325        $code = recuperer_fond("chm/article_content", array('id_article' => $a['id'],'lang' => $langue,));
     326        $n = 'article'.$id;
     327    }
    376328    else
    377         {
    378                 $source = '../'.$chemin;
    379         }
    380 
    381 
    382 }
    383 function cree_yaml($langue,$secteur)
    384 {
    385                 $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
    386                 $yaml = recuperer_fond("yaml/index", array('id_rubrique' => $secteur,'lang' => $langue,));
    387                 file_put_contents($tmptmp."liste.yaml",$yaml);
    388 }
    389 
    390 function action_chmlatexhtml($a,$num,$secteur,$langue)
    391 {
    392                  $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
    393                  if ($num == 0)
    394                     {
    395                         $c0 = recuperer_fond("chm/index", array('id_rubrique' => $secteur,'lang' => $langue,));
    396                         file_put_contents($tmptmp."site/rubrique$secteur.html",$c0);
    397 
    398                         $rubriqueParent = $tmptmp."site/rubrique".$secteur.".html";
    399                         copy($rubriqueParent,$tmptmp."site/index.html");
    400 
    401                         $c1 = recuperer_fond("hhc/index", array('id_rubrique' => $secteur,'lang' => $langue,));
    402                         file_put_contents($tmptmp."site/chmlatex.hhc",$c1);
    403 
    404                         $c2 = recuperer_fond("chm/hhk", array('id_rubrique' => $secteur,'lang' => $langue,));
    405                         file_put_contents($tmptmp."site/chmlatex.hhk",$c2);
    406 
    407                         $c3 = recuperer_fond("chm/hhp", array('id_rubrique' => $secteur,'lang' => $langue,));
    408                         file_put_contents($tmptmp."site/chmlatex.hhp",$c3);
    409 
    410                         $c5 = recuperer_fond("chm/css");
    411                         preg_match_all("#url\('(.*)'\);#iU",$c5,$matches);
    412                         foreach ($matches[1] as $img)
    413                         {
    414 
    415                             $nomf = pathinfo($img, PATHINFO_FILENAME);
    416                             $ext = pathinfo($img, PATHINFO_EXTENSION);
    417                             $nom = $nomf.'.'.$ext;
    418                             $dest = $tmptmp."site/images/".$nom;
    419                             copy($img,$dest);
    420                             $c5 = str_replace($img ,"images/".$nom,$c5);
    421                             spip_log($img,'img');
    422 
    423                         }
    424                         file_put_contents($tmptmp."site/chm.css",$c5);
    425                     }
    426 
    427                 //Traitement des pages HTML
    428                 $id = $a['id'];
    429 
    430                     if(strcmp($a['type'], 'article') == 0)
    431                     {
    432                         // traiter article article#ID_ARTICLE.html
    433                         $code = recuperer_fond("chm/article_content", array('id_article' => $a['id'],'lang' => $langue,));
    434                         $n = 'article'.$id;
    435                     }
    436 
    437                     else
    438                     {
    439                         // traiter rubrique rubrique#ID_RUBRIQUE.html
    440                         $code = recuperer_fond("chm/index", array('id_rubrique' => $a['id'],'lang' => $langue,));
    441                         $n = 'rubrique'.$id;
    442                     }
    443                 //Traitement des images
    444                 $code = preg_replace_callback('#<img.*src="(.*)".*>#iU','imagehtml',$code);
    445                 $code = preg_replace_callback("#<img.*src='(.*)'.*>#iU",'imagehtml',$code);
    446 
    447                 //Traitement des liens
    448                 $code = preg_replace_callback("#href='(.*)'#iU",'lien',$code);
    449                 $code = preg_replace_callback('#href="(.*)"#iU','lien',$code);
    450 
    451 
    452 
    453                 file_put_contents($tmptmp."site/$n.html",$code);
    454 }
    455 
    456 function action_chmlatextex($a,$num,$secteur,$langue)
    457 {
    458                     $tmptmp = _DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES;
    459                     if ($num == 0)
    460                     {
    461                         $cd = recuperer_fond("tex/index", array('id_rubrique' => $secteur,'lang' => $langue,));
    462                         file_put_contents($tmptmp."tex/chmlatex.tex",$cd);
    463 
    464                         $c1 = recuperer_fond("tex/premiere", array('id_rubrique' => $secteur,'lang' => $langue,));
    465                         $c1 = preg_replace_callback('#<img.*src="(.*)".*>#iU','imagetex',$c1);
    466                         $c1 = preg_replace_callback("#<img.*src='(.*)'.*>#iU",'imagetex',$c1);
    467                         $c1 = preg_replace_callback("#\\includegraphics{(.*)}#i",'imagetex',$c1);
    468                         $c1 = str_replace("\\\\includegraphics{",'\\includegraphics{',$c1);
    469                         file_put_contents($tmptmp."tex/inclus/premiere.tex",$c1);
    470 
    471                         $c0 = recuperer_fond("tex/derniere", array('id_rubrique' => $secteur,'lang' => $langue,));
    472                         file_put_contents($tmptmp."tex/inclus/derniere.tex",$c0);
    473 
    474 
    475 
    476                     }
    477 
    478                     $id = $a['id'];
    479 
    480                     if(strcmp($a['type'], 'article') == 0)
    481                     {
    482                         $n = 'article'.$id;
    483                         $chemin = $tmptmp."tex/inclus/$n.tex";
    484                         //traiter article article#ID_ARTICLE.html
    485                         $code = recuperer_fond("tex/article_content", array('id_article' => $a['id'],'lang' => $langue,));
    486 
    487                     }
    488 
    489                     else
    490                     {
    491                         $n = 'rubrique'.$id;
    492                         $chemin = $tmptmp."tex/inclus/$n.tex";
    493                         //traiter rubrique rubrique#ID_RUBRIQUE.html
    494                         $code = recuperer_fond("tex/rubrique_content", array('id_rubrique' => $a['id'],'lang' => $langue,));
    495 
    496                     }
    497 
    498                     //Traitement des images
    499                     $code = preg_replace_callback('#<img.*src="(.*)".*>#iU','imagetex',$code);
    500                     $code = preg_replace_callback("#<img.*src='(.*)'.*>#iU",'imagetex',$code);
    501                     $code = preg_replace_callback("#\\includegraphics{(.*)}#i",'imagetex',$code);
    502                     $code = str_replace("\\\\includegraphics{",'\\includegraphics{',$code);
    503                     file_put_contents($tmptmp."tex/inclus/$n.tex",$code);
    504 }
    505 
    506 function delTree($dir) //permet de supprimer un dossier et tout ce qu'il contient en passant le chemin du dossier par paramètre
     329    {
     330        // traiter rubrique rubrique#ID_RUBRIQUE.html
     331        $code = recuperer_fond("chm/index", array('id_rubrique' => $a['id'],'lang' => $langue,));
     332        $n = 'rubrique'.$id;
     333    }
     334
     335    //Traitement des images
     336    $code = preg_replace_callback('#<img.*src="(.*)".*>#iU','imagehtml',$code);
     337    $code = preg_replace_callback("#<img.*src='(.*)'.*>#iU",'imagehtml',$code);
     338
     339    //Traitement des liens
     340    $code = preg_replace_callback("#href='(.*)'#iU",'html_lien',$code);
     341    $code = preg_replace_callback('#href="(.*)"#iU','html_lien',$code);
     342
     343    // Enregistrement du fichier HTML
     344    file_put_contents("$sDirExport$n.html",$code);
     345}
     346
     347
     348/**
     349 * Export LaTeX
     350 */
     351function tex_export($a,$num,$secteur,$langue)
     352{
     353    $sDirExport = getDirExport();
     354    if ($num == 0)
     355    {
     356        // Document maître
     357        $code = recuperer_fond("tex/index", array('id_rubrique' => $secteur,'lang' => $langue,));
     358        file_put_contents($sDirExport.'chmlatex.tex',$code);
     359
     360        // 1ère de couverture
     361        $code = recuperer_fond("tex/premiere", array('id_rubrique' => $secteur,'lang' => $langue,));
     362        $code = tex_post_traitement($code);
     363        file_put_contents($sDirExport.'inclus/premiere.tex',$code);
     364
     365        // 4ème de couverture
     366        $code = recuperer_fond("tex/derniere", array('id_rubrique' => $secteur,'lang' => $langue,));
     367        $code = tex_post_traitement($code);
     368        file_put_contents($sDirExport.'inclus/derniere.tex',$code);
     369    }
     370
     371    // Traitement des articles et rubriques
     372    $id = $a['id'];
     373    if($a['type']=='article')
     374    {
     375        $n = 'article'.$id;
     376        //traiter article article#ID_ARTICLE.html
     377        $code = recuperer_fond("tex/article_content", array('id_article' => $a['id'],'lang' => $langue,));
     378    }
     379    else
     380    {
     381        $n = 'rubrique'.$id;
     382        //traiter rubrique rubrique#ID_RUBRIQUE.html
     383        $code = recuperer_fond("tex/rubrique_content", array('id_rubrique' => $a['id'],'lang' => $langue,));
     384    }
     385    $code = tex_post_traitement($code);
     386    file_put_contents($sDirExport."inclus/$n.tex",$code);
     387}
     388
     389
     390/**
     391 * Suppression d'un dossier et de son contenu
     392 * @param $dir Dossier à supprimer
     393 * @return retourne TRUE en cas de succès ou FALSE si une erreur survient
     394 */
     395function delTree($dir)
    507396{
    508397    $files = array_diff(scandir($dir), array('.','..'));
     
    514403}
    515404
     405
     406/**
     407 * Ajout récursif d'un dossier dans un fichier ZIP
     408 * @param $folder
     409 * @param $zipFile
     410 * @param $exclusiveLength
     411 */
    516412function folderToZip($folder, &$zipFile, $exclusiveLength)
    517413{
     
    535431}
    536432
     433
     434/**
     435 * Création d'un fichier ZIP à partir d'un dossier
     436 * @param $sourcePath Dossier à compresser
     437 * @param $outZipPath Nom du fichier ZIP
     438 */
    537439function zipDir($sourcePath, $outZipPath)
    538440{
  • _plugins_/chmlatex/trunk/lang/chmlatex_fr.php

    r89897 r90079  
    22
    33$GLOBALS[$GLOBALS['idx_lang']] = array(
    4 
     4    'export_termine'    => "Export terminé",
    55    'exporter_secteur'  => "Exporter un secteur en CHM ou LaTeX",
    66    'format'            => "Format",
     
    88    'format_latex'      => "LaTeX (pour génération de fichier PDF)",
    99    'generation_html'   => "Génération de la documentation au format HTML",
    10     'generation_latex'  => "Génération de la documentation au format LaTeX",
     10    'generation_tex'    => "Génération de la documentation au format LaTeX",
    1111    'langue'            => "Langue de l'export",
    1212    'secteur'           => "Secteur à exporter",
    13     'telecharger_html'  => "Télécharger le fichier ZIP contenant le secteur au format HTML pour compilation CHM",
    14     'telecharger_latex' => "Télécharger le fichier ZIP contenant le secteur au format LaTeX"
    15 
     13    'telecharger_html'  => "Lien de téléchargement du fichier ZIP contenant le secteur au format HTML pour compilation CHM",
     14    'telecharger_tex' => "Lien de téléchargement du fichier ZIP contenant le secteur au format LaTeX"
    1615);
    1716?>
  • _plugins_/chmlatex/trunk/lang/paquet-chmlatex_fr.php

    r89897 r90079  
    99    'chmlatex_description' => "Le plugin CHM & LaTex est conçu pour exporter le contenu d'un secteur d'un site SPIP dans les formats :
    1010
    11     - HTML statique pour compilation au format [?CHM] à l'aide de [HTML Help Workshop->https://www.microsoft.com/en-us/download/details.aspx?id=21138]
    12     - Latex pour compilation au format PDF avec [XeLatex->http://www.xelatex.org]
     11-* HTML statique pour compilation au format [?CHM] à l'aide de [HTML Help Workshop->https://www.microsoft.com/en-us/download/details.aspx?id=21138]
     12-* Latex pour compilation au format PDF avec [XeLatex->http://www.xelatex.org]
    1313
    1414    Le multilinguisme est supporté de la façon suivante :
    1515
    16     - Utilisation d'une structure unique de rubriques avec traduction des titres et texte des rubriques à l'aide des balises [&lt;multi&gt;->http://programmer.spip.net/Les-Polyglottes-multi];
    17     - Utilisation des mécanismes SPIP de traduction des articles. Les articles non traduits sont remplacés par l'article de référence des traductions.",
     16-* Utilisation d'une structure unique de rubriques avec traduction des titres et texte des rubriques à l'aide des balises [&lt;multi&gt;->http://programmer.spip.net/Les-Polyglottes-multi];
     17-* Utilisation des mécanismes SPIP de traduction des articles. Les articles non traduits sont remplacés par l'article de référence des traductions.
     18
     19Le formulaire d'exportation se trouve dans le menu Publication de l'espace privé.",
    1820    );
    1921?>
  • _plugins_/chmlatex/trunk/paquet.xml

    r89905 r90079  
    22    prefix="chmlatex"
    33    categorie="edition"
    4     version="1.3.4"
     4    version="1.3.5"
    55    etat="test"
    66    compatibilite="[3.0.0;3.0.*]"
  • _plugins_/chmlatex/trunk/tex/article_content.html

    r89897 r90079  
    55        titre=#TITRE*
    66    }>
    7     \label{art#ID_TRAD}
     7    \label{art[(#ID_TRAD|?{#ID_TRAD,#ID_ARTICLE})]}
    88
    9     [(#CHAPO*|propre_exportdoclatex|filtrer_entites)]
     9    [(#CHAPO*|chmlatex_propre_latex|filtrer_entites)]
    1010
    11     [(#TEXTE*|propre_exportdoclatex|filtrer_entites)]
     11    [(#TEXTE*|chmlatex_propre_latex|filtrer_entites)]
    1212
    13     [(#PS*|propre_exportdoclatex|filtrer_entites)]
     13    [(#PS*|chmlatex_propre_latex|filtrer_entites)]
    1414</BOUCLE_article>
  • _plugins_/chmlatex/trunk/tex/header.html

    r89897 r90079  
    1414\usepackage[export]{adjustbox}
    1515\setmainlanguage{[(#LANG|lang_polyglossia)]}
     16%\usepackage{minted}
    1617\graphicspath{{images/}}
    1718
  • _plugins_/chmlatex/trunk/tex/premiere.html

    r89897 r90079  
    22\begin{titlepage}
    33\parindent=0pt
    4 [(#NOM_SITE_SPIP*|propre_exportdoclatex|extraire_multi{#LANG}|supprimer_tags)] \hspace*{\stretch{1}}
     4[(#NOM_SITE_SPIP*|propre_exportdoclatex|extraire_multi{#LANG}|supprimer_tags|chmlatex_propre_latex)] \hspace*{\stretch{1}}
    55\vspace*{\stretch{1}}
    66\begin{center}
     
    1111\begin{center}\bfseries\Huge
    1212<BOUCLE_rubrique(RUBRIQUES){id_rubrique}{par titre}>
    13 [(#TITRE*|supprimer_numero|extraire_multi{#LANG}|supprimer_tags|propre_exportdoclatex|filtrer_entites)]
     13[(#TITRE*|supprimer_numero|extraire_multi{#LANG}|supprimer_tags|propre_exportdoclatex)]
    1414</BOUCLE_rubrique>
    1515\end{center}
     
    1919\vspace*{\stretch{2}}
    2020
    21 #URL_SITE_SPIP \hfill [(#LANG*|traduire_nom_langue|filtrer_entites)] 
     21#URL_SITE_SPIP \hfill [(#LANG*|traduire_nom_langue|filtrer_entites)]
    2222
    2323\end{titlepage}
  • _plugins_/chmlatex/trunk/tex/rubrique_content.html

    r89897 r90079  
    88    \label{rub#ID_RUBRIQUE}
    99
    10     [(#TEXTE*|propre_exportdoclatex|filtrer_entites)]
     10    [(#TEXTE*|chmlatex_propre_latex|filtrer_entites)]
    1111
    1212</BOUCLE_rubrique>
  • _plugins_/chmlatex/trunk/tex/titre_rubrique.html

    r89897 r90079  
    1111<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
    1212    #SET{profondeur,#PROFONDEUR|plus{#ENV{id_niveau,0}}}
    13     #GET{antislash}[(#GET{tex_titres}|table_valeur{#GET{profondeur}})]{[(#ENV*{titre}|supprimer_numero|extraire_multi{#ENV{#LANG}}|supprimer_tags|propre_exportdoclatex)]}
     13    #GET{antislash}[(#GET{tex_titres}|table_valeur{#GET{profondeur}})]{[(#ENV*{titre}|supprimer_numero|extraire_multi{#ENV{#LANG}}|supprimer_tags|chmlatex_propre_latex)]}
    1414</BOUCLE_rubrique>
Note: See TracChangeset for help on using the changeset viewer.