<?xml
version="1.0" encoding="utf-8"?>
<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>Geekographie Ma&#239;eulesque</title>
	<link>https://geekographie.maieul.net/</link>
	<description>Ce site est consacr&#233; &#224; quelques unes des mes geekeries. J'y donne des conseils, des r&#233;flexions, sur les logiciels et les langages que je connais ou que j'apprends.
J'y parle notamment de l'usage de LaTeX en sciences humaines et sociales, en particulier pour la gestion de la bibliographie.
Le contenu peut &#234;tre sous la forme d'articles d&#233;taill&#233;s ou de simples notes.
L'ensemble du contenu est, sauf pr&#233;cision contraire, sous licence Cr&#233;ative Commons Paternit&#233;-Partage des Conditions Initiales &#224; l'identique France.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="http://geekographie.maieul.net/spip.php?id_rubrique=41&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Nouveaux flottants avec rotation</title>
		<link>http://geekographie.maieul.net/72</link>
		<guid isPermaLink="true">http://geekographie.maieul.net/72</guid>
		<dc:date>2011-12-10T13:44:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Ma&#239;eul</dc:creator>



		<description>
&lt;p&gt;Les flottants d&#233;signent en LaTeX tout ce qui n'est pas du texte (images, tableau, graphisme etc.) et qui pose par cons&#233;quent des probl&#232;mes sp&#233;cifiques de mise en page, pour &#233;viter de &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;casser&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; le d&#233;roulement du texte. La solution retenue par LaTeX pour g&#233;rer ces &#233;l&#233;ments se base sur un algorithme qui essaie d'installer l'objet au meilleur endroit possible, en fonction des indications fournies par l'utilisateur. En outre, chaque flottant peut disposer d'une l&#233;gende, et les flottants&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="http://geekographie.maieul.net/Flottant" rel="directory"&gt;Flottant&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Les flottants d&#233;signent en LaTeX tout ce qui n'est pas du texte (images, tableau, graphisme etc.) et qui pose par cons&#233;quent des probl&#232;mes sp&#233;cifiques de mise en page, pour &#233;viter de &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;casser&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; le d&#233;roulement du texte.&lt;/p&gt;
&lt;p&gt;La solution retenue par LaTeX pour g&#233;rer ces &#233;l&#233;ments se base sur un algorithme qui essaie d'installer l'objet au meilleur endroit possible, en fonction des indications fournies par l'utilisateur.&lt;/p&gt;
&lt;p&gt;En outre, chaque flottant peut disposer d'une l&#233;gende, et les flottants poss&#232;dent leurs propres num&#233;rotation.&lt;/p&gt;
&lt;p&gt;Cet article ne cherche pas &#224; &lt;a href=&#034;http://fr.wikibooks.org/wiki/LaTeX/%C3%89l%C3%A9ments_flottants_et_figures&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pr&#233;senter les flottants standards, d'autres l'ont fait avant moi&lt;/a&gt;, mais &#224; montrer comment cr&#233;er un nouveau type&#160;: &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;carte&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; et l'orienter dans le sens de la hauteur.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;h2&#034;&gt;Le besoin&lt;/h2&gt;
&lt;p&gt;Dans mon m&#233;moire, je souhaite int&#233;grer une carte de l'Afrique Romaine. Je souhaiterais donc avoir un flottant &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;carte&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;. En outre, &#233;tant donn&#233; le format de la carte, il fallait que j'oriente mon flottant dans le sens de la hauteur de page, et non de la largeur, c'est &#224; dire que ma l&#233;gende soit bascul&#233;e &#224; la verticale.&lt;/p&gt;
&lt;p&gt;Dans mon cas, j'avais pris une carte sur &lt;i&gt;l'Encyclop&#230;dia Universalis&lt;/i&gt;, mais dans cet article, pour des raisons de pr&#233;cautions vis-&#224;-vis des droits d'auteurs, je prend appui sur &lt;a href=&#034;http://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Roman_Empire_Africa.svg/1280px-Roman_Empire_Africa.svg.png&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;une carte de Wikim&#233;dia&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Cr&#233;er un nouveau flottant&lt;/h2&gt;
&lt;p&gt;Par d&#233;faut, LaTeX propose deux types de flottant&#160;:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;i&gt;tableau&lt;/i&gt;, ins&#233;rable avec &lt;code&gt;\begin{table} &#8230; \end{table}&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; &lt;i&gt;figure&lt;/i&gt;, ins&#233;rable avec &lt;code&gt;\begin{figure} &#8230; \end{figure}&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Je souhaitais donc en cr&#233;er un nouveau, &lt;i&gt;carte&lt;/i&gt;, ins&#233;rable avec &lt;code&gt;\begin{carte}&#8230; \end{carte}&lt;/code&gt;. J'aurais certes pu choisir de d&#233;tourner un des types standard, &lt;a href='http://geekographie.maieul.net/55' class=&#034;spip_in&#034;&gt;en modifiant la cha&#238;ne de langue&lt;/a&gt;, mais outre que cela n'&#233;tait pas tr&#232;s satisfaisant du point de vue m&#233;thodique, j'avais aussi besoin de garder les types standards.&lt;/p&gt;
&lt;p&gt;J'ai donc fait appel au package &lt;code&gt;float&lt;/code&gt; pour en cr&#233;er de nouveau. Dans ce package, je me sert de deux commandes&#160;:&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code&gt;\newfloat&lt;/code&gt; qui permet de cr&#233;er des nouveau flottants et qui prend les arguments suivants&#160;:
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code&gt;type&lt;/code&gt; qui est le type du nouveau flottant &#224; cr&#233;er.&lt;/li&gt;&lt;li&gt; &lt;code&gt;placement&lt;/code&gt; qui indique le placement par d&#233;faut du flottant, en utilisant l'un des &lt;a href=&#034;http://fr.wikibooks.org/wiki/LaTeX/%C3%89l%C3%A9ments_flottants_et_figures#Les_figures&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;param&#232;tres de positions disponibles&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; &lt;code&gt;extension&lt;/code&gt; qui est l'extension du fichier externe dans lequel sera stock&#233; la table de ce niveau type de flottant (par exemple, si j'avais souhait&#233; avoir une table des cartes).&lt;/li&gt;&lt;li&gt; param&#232;tre facultatif&#160;: &lt;code&gt;dans&lt;/code&gt;. On indique l&#224; un niveau de titre (chapter, section etc.) qui sert pour la num&#233;rotation des flottants. Par exemple, si on indique &lt;code&gt;chapter&lt;/code&gt;, la num&#233;rotation sera de la forme &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;num&#233;ro de chapitre . num&#233;ro du flottant au sein du chapitre&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;. Dans mon cas, je n'avais pas besoin de cela.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt; &lt;code&gt;\floatname&lt;/code&gt; qui re&#231;oit en premier argument le type du flottant et en second son nom, tel qu'il appara&#238;t dans la l&#233;gende.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Concr&#232;tement, dans mon cas, cela donne&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\usepackage{float} \usepackage{graphicx} \newfloat{carte}{h}{carte} \floatname{carte}{Carte}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avec cela, est cr&#233;&#233; un environnement &lt;code&gt;carte&lt;/code&gt;, qui est un flottant. Je peux donc int&#233;grer ma carte, en appelant au pr&#233;alable le package &lt;code&gt;graphicx&lt;/code&gt; qui permet d'inclure des fichier &lt;code&gt;.jpg&lt;/code&gt;, &lt;code&gt;.pdf&lt;/code&gt; ou &lt;code&gt;.png&lt;/code&gt;. Je peux &#233;videmment mettre une l&#233;gende.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\begin{carte} \includegraphics{afrique.png} \caption{L'Afrique Romaine, extrait de xxx} \end{carte}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce qui donne le r&#233;sultat suivant&#160;:&lt;/p&gt;
&lt;div class='spip_document_25 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;117&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='http://geekographie.maieul.net/IMG/png/carte.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='http://geekographie.maieul.net/local/cache-vignettes/L500xH707/carte-aa8ca.png?1760467881' width='500' height='707' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-25 '&gt;&lt;strong&gt;1&lt;sup&gt;er&lt;/sup&gt; essai d'un flottant de type &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;carte&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-25 '&gt;La carte d&#233;passe en hauteur (pas de place pour la l&#233;gende) et en largeur.
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;h2&#034;&gt;Rotation de la carte&lt;/h2&gt;
&lt;p&gt;Pour permettre d'avoir la carte en entier sans la r&#233;duire trop, il faudrait que je la tourne de 90&#176;.&lt;/p&gt;
&lt;p&gt;Je ne souhaite pas modifier le fichier originel ni utiliser la possibilit&#233; de tourner l'image offerte par graphicx&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;En mettant le code suivant&#160;: .&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;En effet, je souhaite conserver la convention qui veut que le Nord soit situ&#233; en haut de la carte.&lt;/p&gt;
&lt;p&gt;Il faut donc que la l&#233;gende tourne &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;en m&#234;me temps&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; que la carte.&lt;/p&gt;
&lt;p&gt;Pour ce faire, je vais utiliser le package &lt;code&gt;rotating&lt;/code&gt; qui permet d'avoir des flottants tourner. Pour chaque flottant &lt;code&gt;xxx&lt;/code&gt; est cr&#233;&#233; un flottant &lt;code&gt;sidewaysxxx&lt;/code&gt; permettant d'avoir une orientation dans le sens de la hauteur et non dans celui de la largeur.&lt;/p&gt;
&lt;p&gt;Pour que cela puisse fonctionner avec les nouveaux flottants, il faut que ceux-ci soient d&#233;clar&#233;s &lt;i&gt;apr&#232;s&lt;/i&gt; l'appel au package.&lt;/p&gt;
&lt;p&gt;Ce qui donne donc dans le pr&#233;ambule&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\usepackage{float} \usepackage{rotfloat} \newfloat{carte}{!}{car} \floatname{carte}{Carte}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et dans le corps du document&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\begin{sidewayscarte} \includegraphics{afrique.png} \caption{L'Afrique Romaine, extrait de xxx} \end{sidewayscarte}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On obtient alors&#160;:&lt;/p&gt;
&lt;div class='spip_document_27 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;81&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='http://geekographie.maieul.net/IMG/png/carte_tournee.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='http://geekographie.maieul.net/local/cache-vignettes/L500xH707/carte_tournee-7f32f.png?1760467882' width='500' height='707' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-27 '&gt;&lt;strong&gt;Carte apr&#232;s rotation
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-27 '&gt;Si la carte est bien orient&#233;e, elle est encore trop grande
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;h2&#034;&gt;R&#233;duire automatiquement l'image&lt;/h2&gt;
&lt;p&gt;Mon image &#233;tant tr&#232;s large, elle d&#233;passe. Je souhaite la r&#233;duire, de telle sorte que la largeur &lt;i&gt;avant la rotation&lt;/i&gt; soit &#233;gale &#224; la hauteur propos&#233; au texte sur une page.&lt;/p&gt;
&lt;p&gt;La hauteur propos&#233; &#224; un texte sur une page est d&#233;fini par la longueur &lt;code&gt;\textheight&lt;/code&gt;. Je peux passer une option lors de l'appel &#224; la commande &lt;code&gt;includgraphics&lt;/code&gt; pour r&#233;duire automatiquement la largeur&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\includegraphics[width=largeur souhait&#233;e]{fichier}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ainsi, mon appel au flottant se fait donc de la mani&#232;re suivante&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\begin{sidewayscarte} \includegraphics[width=\textheight]{afrique.png} \caption{L'Afrique Romaine, extrait de xxx} \end{sidewayscarte}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et j'obtiens au final&#160;:&lt;/p&gt;
&lt;div class='spip_document_28 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;87&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='http://geekographie.maieul.net/IMG/png/carte_finale.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='http://geekographie.maieul.net/local/cache-vignettes/L500xH707/carte_finale-3bd5d.png?1760467882' width='500' height='707' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-28 '&gt;&lt;strong&gt;Carte finale
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-28 '&gt;Bien orient&#233;e, bien l&#233;gend&#233;e, &#224; la bonne taille. Que demande le peuple&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;?
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;En mettant le code suivant&#160;: &lt;code&gt;\includegraphics[angle=90]{afrique.png}&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>



</channel>

</rss>
