Je désire utiliser l'exemple de calendrier pliable de TikZ, utilisant le module calendar.

Est-il possible de franciser les noms des mois, et, si oui, comment ?

Posée 10 Mar '17, 20:21

Arsene37's gravatar image

Arsene37
21112
Taux d'acceptation : 0%

Modifiée 10 Mar '17, 21:08

Pathe's gravatar image

Pathe ♦♦
7.5k42204251

@Arsene37 Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).

(10 Mar '17, 21:09) Pathe ♦♦ Pathe's gravatar image

Pour traduire en français le calendrier de l'auteur de TikZ publié sur cet excellent site qu'est texample.net, il suffit :

  • de déclarer la langue française (\documentclass[french]{article}, puis, à la toute fin du préambule, \usepackage{babel})
  • et d'utiliser l'extension translator, du même Till Tantau : \usepackage[french]{translator}.

Voici l'ECM correspondant :

Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage{tikz}
%%%<
\usepackage{verbatim}
\usepackage[french]{translator}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5pt}%
%%%>
\begin{comment}
:Title: A calendar of circles
:Tags: Foreach
:Author: Till Tantau
:Slug: calendar-circles

A calendar example from the PGF manual. Modifications are
  - changes in font family and size commands
  - shaded background circle
  - shaded month circles
  - font sizes and distances.
\end{comment}
\usetikzlibrary{calendar,shadings}
\renewcommand*{\familydefault}{\sfdefault}
\colorlet{winter}{blue}
\colorlet{spring}{green!60!black}
\colorlet{summer}{orange}
\colorlet{fall}{red}
% A counter, since TikZ is not clever enough (yet) to handle
% arbitrary angle systems.
\newcount\mycount
\usepackage{babel}
\begin{document}
\begin{tikzpicture}[transform shape,
  every day/.style={anchor=mid,font=\tiny}]
  \node[circle,shading=radial,outer color=blue!30,inner color=white,
    minimum width=15cm] {\textcolor{blue!80!black}{\Huge\the\year}};
  \foreach \month/\monthcolor in
    {1/winter,2/winter,3/spring,4/spring,5/spring,6/summer,
    7/summer,8/summer,9/fall,10/fall,11/fall,12/winter} {
      % Computer angle:
      \mycount=\month
      \advance\mycount by -1
      \multiply\mycount by 30
      \advance\mycount by -90
      \shadedraw[shading=radial,outer color=\monthcolor!30,middle color=white,
        inner color=white,draw=none] (\the\mycount:5.4cm) circle(1.4cm);
      % The actual calendar
      \calendar at (\the\mycount:5.4cm) [
          dates=\the\year-\month-01 to \the\year-\month-last]
      if (day of month=1) {\large\color{\monthcolor!50!black}\tikzmonthcode}
      if (Sunday) [red]
      if (all) {
      % Again, compute angle
      \mycount=1
      \advance\mycount by -\pgfcalendarcurrentday
      \multiply\mycount by 11
      \advance\mycount by 90
      \pgftransformshift{\pgfpointpolar{\mycount}{1.2cm}}};}
\end{tikzpicture}
\end{document}
Lien permanent

Publiée 10 Mar '17, 21:05

Pathe's gravatar image

Pathe ♦♦
7.5k42204251
Taux d'acceptation : 55%

Modifiée 10 Mar '17, 21:55

Tout marche comme il faut !

(15 Mar '17, 20:59) Arsene37 Arsene37's gravatar image

@Arsene37 Attention ! Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel.

(15 Mar '17, 21:08) denis ♦♦ denis's gravatar image

@Arsene37 Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).

(15 Mar '17, 21:09) denis ♦♦ denis's gravatar image

@Arsene37 Attention ! Ce commentaire ne comporte qu'une confirmation de solution et c'est à éviter au profit de l'acceptation de la réponse la plus appropriée.

(15 Mar '17, 21:17) denis ♦♦ denis's gravatar image

Voici deux options.

1- avec l'extension translator

Ouvrir dans l'éditeur Overleaf
\providetranslation{January}{Janvier}
\providetranslation{February}{Février}
\providetranslation{March}{Mars}
\providetranslation{April}{Avril}
\providetranslation{May}{Mai}
\providetranslation{June}{Juin}
\providetranslation{July}{Juillet}
\providetranslation{August}{Août}
\providetranslation{September}{Septembre}
\providetranslation{October}{Octobre}
\providetranslation{November}{Novembre}
\providetranslation{December}{Décembre}

2- sans (ou avec) l'extension translator

Ouvrir dans l'éditeur Overleaf
\def\pgfcalendarmonthname#1{%
  \ifcase#1\or Janvier\or Février\or Mars\or Avril\or
    Mai\or Juin\or Juillet\or Août\or Septembre\or Octobre\or
    Novembre\or Décembre\fi}

Exemple complet

Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{translator}
\usetikzlibrary{calendar,folding}

\providetranslation{January}{Janvier}
\providetranslation{February}{Février}
\providetranslation{March}{Mars}
\providetranslation{April}{Avril}
\providetranslation{May}{Mai}
\providetranslation{June}{Juin}
\providetranslation{July}{Juillet}
\providetranslation{August}{Août}
\providetranslation{September}{Septembre}
\providetranslation{October}{Octobre}
\providetranslation{November}{Novembre}
\providetranslation{December}{Décembre}

\begin{document}
    \sffamily\scriptsize
    \begin{tikzpicture}[transform shape,
        every calendar/.style={
            at={(-8ex,4ex)},
            week list,
            month label above centered, 
            month text=\bfseries\textcolor{red}{\%mt} \%y0,
            if={(Sunday) [black!50]}
        }]
    \tikzfoldingdodecahedron[
        folding line length=2.5cm,
        face 1={ \calendar [dates=\the\year-01-01 to \the\year-01-last];},
        face 2={ \calendar [dates=\the\year-02-01 to \the\year-02-last];},
        face 3={ \calendar [dates=\the\year-03-01 to \the\year-03-last];},
        face 4={ \calendar [dates=\the\year-04-01 to \the\year-04-last];},
        face 5={ \calendar [dates=\the\year-05-01 to \the\year-05-last];},
        face 6={ \calendar [dates=\the\year-06-01 to \the\year-06-last];},
        face 7={ \calendar [dates=\the\year-07-01 to \the\year-07-last];},
        face 8={ \calendar [dates=\the\year-08-01 to \the\year-08-last];},
        face 9={ \calendar [dates=\the\year-09-01 to \the\year-09-last];},
        face 10={\calendar [dates=\the\year-10-01 to \the\year-10-last];},
        face 11={\calendar [dates=\the\year-11-01 to \the\year-11-last];},
        face 12={\calendar [dates=\the\year-12-01 to \the\year-12-last];}
    ];
    \end{tikzpicture}
\end{document}
Lien permanent

Publiée 14 Mar '17, 01:19

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Modifiée 14 Mar '17, 01:37

J'ai essayé votre document qui marche tout à fait bien, mais le calendrier que je souhaite utiliser est celui-ci : foldable-dodecahedron-with-calendar.

J'ai fait les modifications données, mais cela ne marche pas !

Voici le fichier modifié :

Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article}
\usepackage[T1]{fontenc}
% Folding + calendar example from the PGF manual.
%
% Author: Till Tantau
\usepackage{tikz}
\usetikzlibrary{calendar,folding}

%%%<
\usepackage{verbatim}
\usepackage[french]{translator}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5pt}%
%%%>

\begin{comment}
:Title: Foldable dodecahedron with Calendar
:Tags: Calendars; Manual
:Author: Till Tantau

An example of the folding library and the folding library, straight from
the manual.
\end{comment}

\usepackage{babel}    
\begin{document}
    \sffamily\scriptsize
    \begin{tikzpicture}[transform shape,
        every calendar/.style={
            at={(-8ex,4ex)},
            week list,
            month label above centered, 
            month text=\bfseries\textcolor{red}{\%mt} \%y0,
            if={(Sunday) [black!50]}
        }]
    \tikzfoldingdodecahedron[
        folding line length=2.5cm,
        face 1={ \calendar [dates=\the\year-01-01 to \the\year-01-last];},
        face 2={ \calendar [dates=\the\year-02-01 to \the\year-02-last];},
        face 3={ \calendar [dates=\the\year-03-01 to \the\year-03-last];},
        face 4={ \calendar [dates=\the\year-04-01 to \the\year-04-last];},
         face 5={ \calendar [dates=\the\year-05-01 to \the\year-05-last];},
         face 6={ \calendar [dates=\the\year-06-01 to \the\year-06-last];},
         face 7={ \calendar [dates=\the\year-07-01 to \the\year-07-last];},
         face 8={ \calendar [dates=\the\year-08-01 to \the\year-08-last];},
         face 9={ \calendar [dates=\the\year-09-01 to \the\year-09-last];},
         face 10={\calendar [dates=\the\year-10-01 to \the\year-10-last];},
         face 11={\calendar [dates=\the\year-11-01 to \the\year-11-last];},
         face 12={\calendar [dates=\the\year-12-01 to \the\year-12-last];}
        ];
        \end{tikzpicture}
        \end{document}
Lien permanent

Publiée 13 Mar '17, 20:00

Arsene37's gravatar image

Arsene37
21112
Taux d'acceptation : 0%

Modifiée 14 Mar '17, 00:27

Pathe's gravatar image

Pathe ♦♦
7.5k42204251

Incroyable ! Dès que babel est chargé, ça ne compile plus !

On peut comparer le document original, vers lequel pointe le lien que vous donnez, et votre code : le premier compile, l'autre pas.

Seules différences entre les deux : babel est chargé avec l'option french, d'où \usepackage[T1]{fontenc}, et l'extension translator : \usepackage[french]{translator}. Incroyable !

Je continue à farfouiller.

(14 Mar '17, 00:28) Pathe ♦♦ Pathe's gravatar image
1

Avec \usetikzlibrary{babel}, ça compile.

(11 Déc '18, 16:40) NeferTiyi NeferTiyi's gravatar image

Est-il possible : 1 - de placer janvier en haut (à la position du 12 sur une horloge) et de placer les mois dans les sens des aiguilles d'une montre; 2 - de choisir l'année, c'est 2019 qui arrive. Pas vu dans le code comment faire ces changements.

(12 Déc '18, 09:29) pzorba75 pzorba75's gravatar image
1

@pzorba75 Ce n'est pas difficile. Mais je pense que c'est préférable de poser une nouvelle question.

(13 Déc '18, 12:47) touhami touhami's gravatar image

@pzorba75 : désirez-vous modifier le calendrier des cercles ou le calendrier pliable ?

(15 Déc '18, 02:17) Pathe ♦♦ Pathe's gravatar image

Ma question concerne le calendrier des cercles (Janvier en haut, les mois dans le sens des aiguilles d'une montre).

(15 Déc '18, 08:53) pzorba75 pzorba75's gravatar image
(16 Déc '18, 22:02) Pathe ♦♦ Pathe's gravatar image
Affichage de 5 parmi 7 Afficher 2 commentaire(s) en plus
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.