{"id":106,"date":"2010-11-17T15:55:23","date_gmt":"2010-11-17T14:55:23","guid":{"rendered":"http:\/\/luciole.local\/~flo\/wordpress\/?page_id=106"},"modified":"2010-11-17T15:55:23","modified_gmt":"2010-11-17T14:55:23","slug":"cours-latex","status":"publish","type":"page","link":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/cours-latex-2\/cours-latex\/","title":{"rendered":"G\u00e9n\u00e9ralit\u00e9s (bonnes habitudes et petits trucs)"},"content":{"rendered":"<p><\/p>\n<h2>La s\u00e9paration de paragraphes<\/h2>\n<p>LaTeX traite le texte un paragraphe \u00e0 la fois.<\/p>\n<p>Les paragraphes sont s\u00e9par\u00e9s par des lignes vides, \u00e0 l&rsquo;exclusion de tout  autre  dispositif, m\u00eame s&rsquo;il donne apparemment le m\u00eame r\u00e9sultat.<\/p>\n<p>On ne fait donc pas:<\/p>\n<ul>\n<li>de  <code>\\par<\/code> (commande TEX),<\/li>\n<li>ni de <code>\\\\<\/code><\/li>\n<li>et encore moins de  <code>\\\\~\\\\<\/code>!<\/li>\n<\/ul>\n<p>\u00ab<code>\\\\<\/code>\u00bb doit \u00eatre exclusivement r\u00e9serv\u00e9 au changement de ligne dans un tableau, et aux environnements o\u00f9 il a une utilit\u00e9 pr\u00e9cise  (environnement <em>verse<\/em> par exemple).<\/p>\n<p>Si vous voulez:<\/p>\n<ul>\n<li>\u00ab revenir \u00e0 la ligne\u00bb:\n<ul>\n<li>laissez une ligne vide<\/li>\n<li>faites une liste \u00e0 puces<\/li>\n<\/ul>\n<\/li>\n<li>espacer d&rsquo;avantage les paragraphes entre-eux: modifiez  la longueur <code>\\parskip<\/code>\n<pre>\\setlength{\\parskip}{2\\baselineskip}<\/pre>\n<\/li>\n<li>augmenter l&rsquo;espace entre 2 paragraphes pour que le  2<sup>e<\/sup> n&rsquo;ait pas une ligne orpheline \u00e0 la page suivante (ou le 1<sup>er<\/sup> une  veuve): ajoutez la macro suivante dans le pr\u00e9ambule.\n<pre>\\widowpenalty=10000 % empeche au maximum la coupure avant la derniere ligne\n\\clubpenalty=10000  % empeche au maximum la coupure apres la premiere ligne\n\\raggedbottom       % empeche l'etirement des ressorts verticaux<\/pre>\n<\/li>\n<\/ul>\n<h2>Les ressorts<\/h2>\n<p>Les ressorts sont ce qui permet aux document compos\u00e9s avec LaTeX d&rsquo;\u00eatre  aussi agr\u00e9ables \u00e0 lire.<\/p>\n<ul>\n<li>ressorts infinis (1er ordre) <code>\\hfill<\/code> ou <code>\\vfill<\/code><\/li>\n<li>ressorts un peu moins infinis (2e ordre) <code>\\hfil<\/code> ou <code>\\vfil<\/code><\/li>\n<li>ressorts de poids variable  <code>\\stretch<\/code><\/li>\n<li>ressorts ajustables :  <code>plus<\/code> <code>minus<\/code><\/li>\n<\/ul>\n<pre>\\newcommand{\\bulfill}[1]{%\n\t\\leavevmode\\leaders \\hbox to #1 {\\hfil$\\bullet$\\hfil}\\hfill\\mbox{}}\n\n\\newcommand{\\TitreAuDeuxTiers}[1]{%\n\t\\hspace{\\stretch{2}}#1\\hspace{\\stretch{1}}}\n\n\\newcommand{\\EspaceEtire}[1]{%\n\t\\hspace{3cm plus 1cm minus 1cm}}\n<\/pre>\n<p>La commande  <code>\\leaders<\/code> est une commande TeX qui r\u00e9p\u00e8te le  contenu d&rsquo;une bo\u00eete  (donn\u00e9e en 1er argument) sur une longueur (2\u00e8me argument) qui peut \u00eatre  un ressort.<\/p>\n<h2>Les bo\u00eetes<\/h2>\n<ul>\n<li>on les cr\u00e9e avec <code>\\newsavebox<\/code><\/li>\n<li>on les remplit avec <code>\\sbox<\/code> ou <code>\\savebox<\/code><\/li>\n<li>on les utilise avec <code>\\usebox<\/code><\/li>\n<\/ul>\n<pre>\\newsavebox{\\maboite}\n\\sbox{\\maboite}{\\strut du texte}\n% ou\n\\savebox{\\maboite}[5cm][c]{\\strut du texte}\n\\vrule\\usebox{\\maboite}\\vrule\n<\/pre>\n<p>La commande <code>\\sbox<\/code> est robuste alors que  <code>\\savebox<\/code> est fragile  (ne supporte pas d&rsquo;\u00eatre plac\u00e9e dans une commande mouvante telle qu&rsquo;une  l\u00e9gende,  un titre ou une note de bas de page).<\/p>\n<p>Utilit\u00e9s:<\/p>\n<ul>\n<li>si on y met une image avec <code>\\includegraphics<\/code>, on peut  faire plusieurs <code>\\usebox<\/code> sans que la taille du document final n&rsquo;augmente;<\/li>\n<li>cela permet de mesurer la taille de la bo\u00eete et de faire un  traitement conditionnel;<\/li>\n<\/ul>\n<p>Exemple:<\/p>\n<table cellspacing=\"10\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<pre>\\newsavebox{\\maboite}\n\\newlength{\\Lmaboite}\n\\newcommand{\\legende}[2]{%\n\t\\sbox{\\maboite}{#1}%\n\t\\settowidth{\\Lmaboite}{\\usebox{\\maboite}}%\n\t\\ifdim\\Lmaboite&lt;#2\n\t\t\\par\\begin{center}#1\\end{center}%\n\t\\else\n\t\t\\begin{minipage}{#2}#1\\end{minipage}%\n\t\\fi}\n<\/pre>\n<\/td>\n<td align=\"CENTER\">\n<table width=\"100%\">\n<tbody>\n<tr>\n<td width=\"100%\" align=\"CENTER\">texte court centr\u00e9<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<tr>\n<td width=\"100%\" align=\"JUSTIFY\">Les hommes naissent et demeurent libres et \u00e9gaux en droits. Les  distinctions sociales ne peuvent \u00eatre fond\u00e9es que sur l&rsquo;utilit\u00e9 commune.    Ce texte long est justifi\u00e9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Un texte (donn\u00e9 en 1<sup>er<\/sup> argument) qui a une longueur  inf\u00e9rieure \u00e0 celle donn\u00e9e en 2<sup>e<\/sup> argument sera centr\u00e9, alors qu&rsquo;un texte plus  long sera justifi\u00e9 sur cette longueur.<\/p>\n<h2>Francisation du document<\/h2>\n<ul>\n<li>le package  <em>babel<\/em>, avec l&rsquo;option  <em>french<\/em>,   <em>frenchb<\/em> ou   <em>francais<\/em> traduit les titres, applique les r\u00e8gles de  typographie fran\u00e7aise,  et beaucoup d&rsquo;autres choses encore (lire la doc);   <em>babel<\/em> red\u00e9finit les commandes au moment du <code>\\begin{document}<\/code>, donc si l&rsquo;on veut modifier ce que  <em>babel<\/em> change d\u00e9j\u00e0, il faut le  faire <strong>apr\u00e8s<\/strong> le <code>\\begin{document}<\/code>, ou dans le  pr\u00e9ambule en utilisant la commande <code>\\AtBeginDocument<\/code>.<\/li>\n<li>le package  <em>inputenc<\/em> avec l&rsquo;option  <em>latin1<\/em> (ou  <em>applemac<\/em>)  permet de taper directement les accents sans avoir \u00e0 les composer  (<code>\\'e<\/code>);<\/li>\n<li>le package  <em>fontenc<\/em> avec l&rsquo;option  <em>T1<\/em> permet  la c\u00e9sure de mots accentu\u00e9s;<\/li>\n<li>parfois le PDF g\u00e9n\u00e9r\u00e9 est flou, dans ce cas, utiliser au choix le  package <em> lmodern<\/em> ou <em>aeguill<\/em>.<\/li>\n<\/ul>\n<h2>Questions diverses<\/h2>\n<ol>\n<li><strong>Quand mettre les % dans les macros?<\/strong>\n<ul>\n<li>Apr\u00e8s les commandes qui ne se terminent pas par un  caract\u00e8re alphanum\u00e9rique.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u00c0 quoi servent les commandes <code>\\makeatletter<\/code> et <code>\\makeatother<\/code>?<\/strong>\n<ul>\n<li>\u00c0 pouvoir utiliser le symbole @ dans les commandes (ce  qui est normalement impossible).<\/li>\n<\/ul>\n<\/li>\n<li><strong>Comment surcharger une commande?<\/strong>\n<pre>\\let\\VieilleCommande=\\CommandeActuelle % (copie de la commande)\n\\renewcommand{\\CommandeActuelle}{%\n\t\\VieilleCommande                    % (appel de la commande normale)\n\t\\CommandeAAjouter}                  % (appel de la surcharge)<\/pre>\n<\/li>\n<li><strong>Quelle est la port\u00e9e d&rsquo;une commande de type <code>\\centering<\/code>,   <code>\\bfseries<\/code>, <code>\\small<\/code> ou <code>\\color{red}<\/code>?<\/strong>\n<ul>\n<li>Elles ont une port\u00e9e qui se limite au <strong>groupe<\/strong> le plus interne auquel elles appartiennent (<code>{...}<\/code>, <code>\\begin{xxx}  ... \\end{xxx}<\/code>). Idem pour les <code>\\renewcommand<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>La s\u00e9paration de paragraphes LaTeX traite le texte un paragraphe \u00e0 la fois. Les paragraphes sont s\u00e9par\u00e9s par des lignes vides, \u00e0 l&rsquo;exclusion de tout autre dispositif, m\u00eame s&rsquo;il donne apparemment le m\u00eame r\u00e9sultat. On ne fait donc pas: de \\par (commande TEX), ni de \\\\ et encore moins de \\\\~\\\\! \u00ab\\\\\u00bb doit \u00eatre exclusivement [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":168,"menu_order":1,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-106","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/wp-json\/wp\/v2\/pages\/106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/wp-json\/wp\/v2\/comments?post=106"}],"version-history":[{"count":0,"href":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/wp-json\/wp\/v2\/pages\/106\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/wp-json\/wp\/v2\/pages\/168"}],"wp:attachment":[{"href":"https:\/\/sites.lesia.obspm.fr\/florence-henry\/wp-json\/wp\/v2\/media?parent=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}