Comment fabriquer des icônes analogues à celles ci-dessous ?

alt text

Elles mesurent environ 1 centimètre de côté et les caractères utilisés y sont centrés, tant horizontalement que verticalement.

Or, avec TeX, LaTeX et autres, les caractères sont posés sur la ligne de base :

alt text

Le plus simple est de placer le centre des caractères au centre de l'icône elle-même : cela permet d'en faire varier le corps tout en le gardant centré, ce qui est plus simple que de jouer sur les paramètres de hauteur height et depth.

Du coup, je me pose la question : existe-t-il un moyen de déterminer la position d'un caractère par rapport à son centre et non par rapport à cette ligne de base ?

Par ailleurs, j'ai essayé d'utiliser l'extension fancybox, mais les boîtes arrondies qu'elle propose ne conviennent pas vraiment, car elles ne font que dessiner des boîtes arrondies dans une boîte carrée :

Ouvrir dans l'éditeur Overleaf
\documentclass{standalone}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light, largesmallcaps]{kpfonts}
\usepackage{fancybox}
\usepackage{color}
\begin{document}
\setlength{\fboxsep}{2mm}
\fontsize{100}{120}\selectfont
\ovalbox{a}
\end{document}

PS : par centre des caractères j'entends l'intersection des deux diagonales de la boîte rectangulaire contenant le caractère.

Posée 03 Sep, 14:58

Pathe's gravatar image

Pathe ♦♦
2.6k11175
Taux d'acceptation : 60%

Modifiée 04 Sep, 18:33

Comme vous pouvez voir, le centre est le point (width/2,(height+depth)/2).

(03 Sep, 15:34) touhami touhami's gravatar image

Avez-vous essayé

\setlength{\fboxsep}{5mm} \fontsize{100}{120}\selectfont \fcolorbox{blue}{red}{W} \fcolorbox{blue}{red}{E} \fcolorbox{blue}{red}{P}

Vous aurez besoin des extensions lmodern et color.

(03 Sep, 15:49) touhami touhami's gravatar image

Ce code crée des boîtes plus grandes que les caractères en question.

(03 Sep, 20:04) Pathe ♦♦ Pathe's gravatar image

Vous pouvez changer \setlength{\fboxsep}{5mm}

(03 Sep, 20:09) touhami touhami's gravatar image

Merci de clarifier votre question et d'ajouter un ECM.

(04 Sep, 10:36) touhami touhami's gravatar image

J'ai reformulé (et augmenté) ma question. En revanche, ne sachant pas comment m'y prendre, je serais bien en peine d'ajouter un ECM.

Le problème suppose de créer une boîte à coins arrondis, sur fond transparent, et d'y centrer avec précision un caractère quelconque. Pas évident !

(04 Sep, 18:19) Pathe ♦♦ Pathe's gravatar image

Je vois que vous avez bien le caractère a centré. Si j'ai bien compris vous voulez donner à la page la forme de la boîte (à coins arrondis) c'est ça ? Je crains que ce soit impossible à partir de (la)TeX, mais la conversion au format .png avec Image Magick réalise ça très bien.

(05 Sep, 02:25) touhami touhami's gravatar image
Affichage de 5 parmi 7 Afficher 2 commentaire(s) en plus

Pas sur de bien comprendre la question. Tikz fait ça très bien, Le texte ou le symbole est parfaitement centré et s'adapte automatiquement au contenu.

Ouvrir dans l'éditeur Overleaf
\begin{tikzpicture}
    \node[rounded corners=3pt, draw, fill=red!20]{R};
\end{tikzpicture}
\begin{tikzpicture}
    \node[rounded corners=3pt, draw, fill=red!20]{\huge \Mobilefone};
\end{tikzpicture}

alt text

Comme cette question découle d'une précédente, on peut obtenir les dimensions voulues à l'aide de \resizebox{largeur}{longueur}{texte} on peut obtenir obtenir des dimensions 17x19 mm

Ouvrir dans l'éditeur Overleaf
\documentclass{article}

\usepackage{marvosym}
\usepackage{tikz} 
\begin{document}
\begin{tikzpicture}
    \node[rounded corners=3pt, draw, fill=red!20]{R};
\end{tikzpicture}
\begin{tikzpicture}
    \node[rounded corners=3pt, draw, fill=red!20]{\huge \Mobilefone};
\end{tikzpicture}
\resizebox{17mm}{19mm}{%
\begin{tikzpicture}
    \node[rounded corners=3pt, draw, fill=red!20]{\huge \Mobilefone};
\end{tikzpicture}}  
\resizebox{17mm}{19mm}{\begin{tikzpicture}
    \node[rounded corners=3pt, draw, fill=red!20]{R};
\end{tikzpicture}}
\end{document}

alt text

Par contre pour obtenir le symbole à sa taille initiale et centré correctement, il faudra chercher une solution plus complexe à base de :

Ouvrir dans l'éditeur Overleaf
\settowidth
\settoheight
\settodepth
Lien permanent

Publiée 04 Sep, 22:46

Nikopol's gravatar image

Nikopol
76010
Taux d'acceptation : 40%

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.

Mots-clés de la question :

×2
×2
×1

Question posée : 03 Sep, 14:58

Question vue : 233 fois

Dernière mise à jour : 05 Sep, 02:25