<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.momh.fr/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>momh</title>
	<link>https://momh.fr/</link>
	<description>My Own Memory Hole se veut une sorte de &#171;&#160;vitrine&#160;&#187; de mon parcours et de mon exp&#233;rience mais aussi de mes centres d'int&#233;r&#234;t et constitue donc en quelque sorte ma m&#233;moire en ligne, m&#233;moire virtuelle d&#233;localis&#233;e mais ordonn&#233;e et index&#233;e&#8230;</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.momh.fr/spip.php?id_mot=4&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Bloc texte avec bordure</title>
		<link>https://www.momh.fr/bloc-texte-avec-bordure</link>
		<guid isPermaLink="true">https://www.momh.fr/bloc-texte-avec-bordure</guid>
		<dc:date>2011-08-13T14:38:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>LaTeX</dc:subject>
		<dc:subject>TeX</dc:subject>

		<description>
&lt;p&gt;Un environnement permettant de cr&#233;er un bloc de texte dont on peut faire varier la largeur avec une barre verticale &#224; gauche &#224; l'&#233;paisseur modifiable bien &#233;videmment. &lt;br class='autobr' /&gt;
Code propos&#233; par Fran&#231;ois P&#233;tiard et Jean-C&#244;me Charpentier sur fr.comp.text.tex. &lt;br class='autobr' /&gt; &#192; noter que cet environnement n&#233;cessite le package framed (ainsi que, pour l'exemple seulement, lipsum pour le faux texte). &lt;br class='autobr' /&gt;
Voici un &lt;span class=&#034;caps&#034;&gt;ECM&lt;/span&gt;&#160;: \documentclassarticle&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;% \usepackage[T1]fontenc&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;% \usepackage[latin1]inputenc&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/latex" rel="tag"&gt;LaTeX&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/tex" rel="tag"&gt;TeX&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Un environnement permettant de cr&#233;er un bloc de texte dont on peut faire varier la largeur avec une barre verticale &#224; gauche &#224; l'&#233;paisseur modifiable bien &#233;videmment.&lt;/p&gt;
&lt;p&gt;Code propos&#233; par Fran&#231;ois P&#233;tiard et Jean-C&#244;me Charpentier sur &lt;a href=&#034;http://groups.google.fr/group/fr.comp.text.tex/browse_thread/thread/31de7edc68f7db2a/8c20a9f44439f9ad?lnk=gst&amp;q=barre+gauche#8c20a9f44439f9ad&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;fr.comp.text.tex&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&#192; noter que cet environnement n&#233;cessite le package &lt;i&gt;framed&lt;/i&gt; (ainsi que, pour l'exemple seulement, &lt;i&gt;lipsum&lt;/i&gt; pour le faux texte).&lt;/p&gt;
&lt;p&gt;Voici un &lt;span class=&#034;caps&#034;&gt;ECM&lt;/span&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;latex&#034; class='spip_code spip_code_block language-latex' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;\documentclass{article} % \usepackage[T1]{fontenc} % \usepackage[latin1]{inputenc} % \usepackage[a4paper]{geometry} % \usepackage{lmodern} \usepackage{framed} \usepackage{lipsum} % \usepackage[frenchb]{babel} \newenvironment{barregauche}{% % ajout pour une marge droite augment&#233;e \par \addtolength{\hsize}{-1cm}% % fin de l'ajout \renewcommand\FrameCommand{% \hspace*{1cm}% \vrule width 1pt \hspace{10pt}% }% \MakeFramed{% \addtolength{\hsize}{-\width}% \FrameRestore } }% {\endMakeFramed} \begin{document} \lipsum[1] \begin{barregauche} \lipsum[1-4] \end{barregauche} \lipsum[1] \end{document} &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>D&#233;compte automatique des mots dans un tableau LaTeX</title>
		<link>https://www.momh.fr/decompte-automatique-des-mots-dans-un-tableau-latex</link>
		<guid isPermaLink="true">https://www.momh.fr/decompte-automatique-des-mots-dans-un-tableau-latex</guid>
		<dc:date>2011-08-12T14:30:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>LaTeX</dc:subject>
		<dc:subject>TeX</dc:subject>

		<description>
&lt;p&gt;Pour mon m&#233;moire de Master Recherche Sciences du langage, il me fallait, &#224; partir d'une transcription, faire une analyse du capital verbal, ce qui impliquait compter les mots de chaque intervention. N'&#233;tant plus &#224; convaincre de la puissance de LaTeX, je me suis dit que ce devait &#234;tre possible d'automatiser une telle t&#226;che. &lt;br class='autobr' /&gt; Apr&#232;s quelques recherches infructueuses, je poste sur le groupe francophone de discussions d&#233;di&#233; &#224; TeX et LaTeX (voir la discussion ici) et tr&#232;s rapidement mpg (Manuel&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/latex" rel="tag"&gt;LaTeX&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/tex" rel="tag"&gt;TeX&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Pour mon m&#233;moire de Master Recherche Sciences du langage, il me fallait, &#224; partir d'une transcription, faire une analyse du capital verbal, ce qui impliquait compter les mots de chaque intervention. N'&#233;tant plus &#224; convaincre de la puissance de LaTeX, je me suis dit que ce devait &#234;tre possible d'automatiser une telle t&#226;che.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Apr&#232;s quelques recherches infructueuses, je poste sur le groupe francophone de discussions d&#233;di&#233; &#224; TeX et LaTeX (voir la discussion &lt;a href=&#034;http://groups.google.fr/group/fr.comp.text.tex/browse_thread/thread/13a0ae96039c63b1/e6e97d7f9d1e38d7&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ici&lt;/a&gt;) et tr&#232;s rapidement mpg (&lt;a href=&#034;https://elzevir.fr/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Manuel P&#233;gouri&#233;-Gonnard&lt;/a&gt;) prend les choses en main et tr&#232;s vite propose le code pour faire ce qui va bien.&lt;/p&gt;
&lt;p&gt;Fonctionnement grossier&#160;: on calcule pour chaque ligne (sauf celle qui ne commence pas par un num&#233;ro) le nombre de mots de la troisi&#232;me colonne du tableau (en &#233;liminant le texte apparaissant en italique [\emph{}] ainsi que les mots en capitales) puis on remplit la quatri&#232;me colonne. Voici ce que cela donne&#160;:&lt;/p&gt;
&lt;div class='spip_document_1 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.momh.fr/local/cache-vignettes/L500xH240/decompte-fca39.jpg?1739236490' width='500' height='240' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Vous trouverez ci-dessous le code fourni par mpg et &lt;a href='https://www.momh.fr/IMG/tex/test_decompte.tex' class=&#034;spip_in&#034; type='text/x-tex'&gt;l&#224;&lt;/a&gt; le fichier comprenant le code de mpg ainsi que la transcription du corpus&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; n'attendez pas de moi que je vous explique comment cela fonctionne...&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;latex&#034; class='spip_code spip_code_block language-latex' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;\makeatletter % Registres, bool&#233;ens et marqueurs. \newtoks\PT@table % le corps du tableau \newtoks\PT@data % les donn&#233;es : nb de mots par ligne + locuteur \newif\ifPT@four@ % ajouter une quatri&#232;me colonne ? \newcount\PT@count % pour les stats \newcommand\EndProcessTable{% \PT@EndProcessTable} % Manipulation des registres. \newcommand\PT@table@add[1]{% \PT@table\expandafter{\the\PT@table#1}} \newcommand\PT@data@add[1]{% \PT@data\expandafter{\the\PT@data#1}} % D&#233;compte des mots (via les espaces) &#224; proprement parler. \edef\PT@twospaces{\space\space} % deux lex&#232;mes espace \shorthandon{;:?!} % pour avoir les m&#234;me \catcode que dans le document \newcommand\PT@count@words{% % on commence par &#233;liminer les trucs qui font foirer la supposition % de base que (nb mots = nb espaces + 1)... \Substitute*[\def\PT@temp]{\PT@temp}{ ;}{}% \Substitute*[\def\PT@temp]{\PT@temp}{ :}{}% \Substitute*[\def\PT@temp]{\PT@temp}{ ?}{}% \Substitute*[\def\PT@temp]{\PT@temp}{ !}{}% % la ligne suivante compte les espaces restants \Substitute*{\PT@temp}{ }{}% \advance\ted@count\@ne} % mots = espaces + 1 \shorthandoff{;:?!} % plus besoin des \catcode sp&#233;ciaux % La macro pr&#233;cedente suppose qu'il n'y a d'espace ni au d&#233;but ni &#224; la fin : % c'est potentiellement faux, il faut donc s'en assurer auparavant. \newcommand\PT@strip@spaces{% % pr&#233;pare le terrain pour \PT@strip@ \expandafter\expandafter\expandafter\PT@strip \expandafter\PT@temp\expandafter\@nil\space\@nil\@nill} \newcommand\PT@strip[1]{% % enl&#232;ve les &#233;ventuels espaces initiaux \PT@strip@#1} \@ifdefinable\PT@strip@\relax \def\PT@strip@#1 \@nil#2\@nill{% % enl&#232;ve les &#233;ventuels espaces finaux \ifx#2\empty\empty \PT@strip@@#1% \else \def\PT@temp{#1}% \fi} \@ifdefinable\PT@strip@@\relax \def\PT@strip@@#1\@nil{% \def\PT@temp{#1}} % Nettoyage : on enl&#232;ve les commandes de &#171; commentaires &#187; et leurs arguments. % Utilise un \xdef prot&#233;g&#233;, ce qui suppose que tout est robuste... % nettoyage proprement dit \newcommand*\PT@cleanup[1]{% \begingroup \PT@do@comments \protected@xdef\PT@temp{#1}% \endgroup % on pourrait avoir 2 espaces de suite suite &#224; supression de commande \Substitute**[\def\PT@temp]{\PT@temp}{\PT@twospaces}{\empty}% \PT@strip@spaces} % initialisation (cf plus bas pour les r&#233;glages) \newcommand\PT@do@comments{} % Boucle de traitement principale. \newcommand\ProcessTable{% \PT@table{}% \PT@data{}% \PT@cell@one} % traitement de la premi&#232;re cellule : il y a pas mal de cas &#224; d&#233;tecter \newcommand\PT@cell@one[1]{% \let\PT@next\PT@nextline \ifcat\noexpand#1\relax % d&#233;tecte les s&#233;quences de contr&#244;le \ifx#1\EndProcessTable % regarde si on a fini \let\PT@next\PT@finish \else \PT@if@interline{#1}{\let\PT@next\PT@gobble@interln}% \fi \else \ifnum`#1&lt;58 % truc moche pour voir si #1 est un chiffre \ifnum`#1&gt;47 \let\PT@next\PT@cell@one@ \fi \fi \fi \PT@next#1} % d&#233;tection des inter-lignes comme \midrule (liste dans \PT@interliners) \newcommand\PT@if@interline[2]{% % pour l'instant \def\PT@temp##1#1##2\@nil{% \ifx\empty##2\empty \else #2\fi}% \expandafter\PT@temp\PT@interliners#1\@nil} % initialisation (r&#233;glage voir plus bas) \newcommand\PT@interliners{} % traitement des inter-lignes \newcommand\PT@gobble@interln[1]{% \PT@table@add{#1}% \PT@cell@one} % lignes ne commen&#231;ant pas par un chiffre : on passe \def\PT@nextline#1\tabularnewline{% \PT@table@add{#1\tabularnewline}% \PT@cell@one} % lignes &#224; traiter, cellule par cellule \def\PT@cell@one@#1&amp;{% \PT@table@add{#1&amp;}% \PT@data@add{\PT@line{#1}}% \PT@cell@two} % cellule deux : on assainit les espaces avant d'enregistrer le nom \def\PT@cell@two#1&amp;{% \PT@table@add{#1&amp;}% \def\PT@temp{#1}\PT@strip@spaces \expandafter\PT@data@add\expandafter{\expandafter{\PT@temp}}% \PT@cell@three} % traitement de la derni&#232;re cellule et bouclage \def\PT@cell@three#1\tabularnewline{% \PT@table@add{#1}% \PT@cleanup{#1}\PT@count@words \expandafter\PT@data@add\expandafter{\expandafter{\the\ted@count}}% \ifPT@four@ \expandafter\PT@table@add\expandafter{\expandafter&amp;\the\ted@count}% \fi \PT@table@add{\tabularnewline}% \PT@cell@one} % en fin de boucle, avaler le d&#233;limiteur de fin \def\PT@finish\EndProcessTable{} % R&#233;cup&#233;ration des donn&#233;es par l'utilisateur. % composer le tableau obtenu \newcommand\PrintTable{% \def\PT@next{\begin{TableEnv}}% \expandafter\PT@next\the\PT@table \end{TableEnv}} % macro utilisateur : ajuste les bornes (&lt; \to \leq) avant tout \newcommand\GetStats[2]{% \edef\PT@temp{\noexpand\PT@get@stats{% \number\numexpr#1-1\relax}{\number\numexpr#2+1\relax}}% \PT@temp} % chope vraiment les stats \newcommand\PT@get@stats[3]{% \def\PT@name{#3}% \PT@count\z@ \let\PT@line\PT@line@check \def\PT@line@##1##2##3{% \ifnum##1&gt;#1 \ifnum##1&lt;#2 \def\PT@temp{##2}% \ifx\PT@temp\PT@name \advance\PT@count##3\relax \fi \fi \fi}% \the\PT@data \the\PT@count} % faire gaffe aux &#233;ventuels num&#233;ros comme 30b \newcommand\PT@line@check[1]{% \PT@line@checkb#1b\@nil} \def\PT@line@checkb#1b#2\@nil{% \PT@line@{#1}} % Macros de gestion pour l'utilisateur % ajout de &#171; commentaires &#187; \newcommand*\PTAddComment[2]{% \ifcase#2 \g@addto@macro\PT@do@comments{\let#1\empty}% \or \g@addto@macro\PT@do@comments{\let#1\@gobble}% \or \g@addto@macro\PT@do@comments{\let#1\@gobbletwo}% \or \g@addto@macro\PT@do@comments{\let#1\@gobblethree}% \or \g@addto@macro\PT@do@comments{\let#1\@gobblefour}% \fi} % choix du traitement \newcommand\PTNoFourthColumn{% \def\PTColumns{3}\PT@four@false} \newcommand\PTFourthColumn{% \def\PTColumns{4}\PT@four@true} \PTFourthColumn % par d&#233;faut % ajout de macros inter-lignes \newcommand*\PTAddInterLiners{% \g@addto@macro\PT@interliners} \makeatother % % Partie utilisateur. Son job consiste &#224; : % - d&#233;finir l'environnement TableEnv pour le tableau final ; % - signaler ses macros de &#171; commentaires &#187; &#224; ignorer ; % - s'assurer que ses autres macros soient robustes ou prot&#233;g&#233;es ; % - signaler les trucs entre les lignes (\midrule, etc) ; % - choisir si une quatri&#232;me colonne est ajout&#233;e (oui par d&#233;faut). % \newlength\coli \newlength\colii \newlength\coliii \settowidth\coli{\ttfamily 000b} \settowidth\colii{\slshape (Procureur)} \setlength\coliii{\textwidth - 2\coli - \colii - 3\arraycolsep - 33pt} \newcolumntype{y}{&gt;{\ttfamily\raggedleft}p{\coli}} \newcolumntype{x}{&gt;{\slshape}p{\colii}} \newcolumntype{z}{&gt;{\rmfamily\footnotesize\raggedleft}m{\coli}} % c'est l&#224;-dedans que sera compos&#233; le tableau une fois trait&#233; \newenvironment{TableEnv}{% \par\noindent \begin{longtable}{yxp{\coliii}z}% }{% \end{longtable}} % doit &#234;tre coh&#233;rent avec le choix ci-dessous... % \PTNoFourthColumn \newcommand\comm{\MakeUppercase} % les commandes dont le contenu est &#224; ignorer, et leur nb d'arguments \PTAddComment{\emph}{1} \PTAddComment{\comm}{1} \PTAddComment{\footnote}{1} \PTAddComment{\footnotemark}{1} % n&#233;c&#233;ssite fixltx2e \MakeRobust\underline % trucs entre les lignes \PTAddInterLiners{\toprule\midrule\bottomrule} &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.momh.fr/IMG/tex/test_decompte.tex" length="32205" type="text/x-tex" />
		

	</item>



</channel>

</rss>
