regras graduadas com cor de preenchimento para texto

regras graduadas com cor de preenchimento para texto

insira a descrição da imagem aqui

Em um exercício com regras graduadas, tentei reduzir as caixas brancas para os números negativos, gostaria que os retângulos brancos fossem menores como os positivos, mas é como se o sinal de menos colocasse o limite do retângulo em todos os lugares em cada canto , mesmo onde não está, então aqui do lado direito. Não tenho ideia de como reduzir essa caixa o_0 ... :-(

aqui está o meu código para esta parte:

%----------------------------------------------------------------
%mathématiques - fichier numérique de tous mes exercices
%----------------------------------------------------------------
\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel} %pour le symbole n°
\frenchbsetup{StandardLists=true} % pour les listes avec \enumitem : à inclure si on utilise 
\usepackage{enumitem}

% spécification des marges, taille papier
%\usepackage[a4paper]{geometry}
%\geometry{hscale=0.85,vscale=0.85,centering}
%\usepackage{fullpage} % une autre solution, pas testée

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[C]{} 
\fancyhead[L]{}
\fancyhead[R]{}
\renewcommand{\footrulewidth}{0pt}
\fancyfoot[C]{}
\fancyfoot[L]{}
\fancyfoot[R]{\raggedright\mbox{\frakfamily\fraklines\yinipar{S}}}

\usepackage[left=2cm,right=1cm,top=1cm,bottom=2.5cm]{geometry}
% fin de la définition des marges

\usepackage{frcursive}
\usepackage{yfonts}
\usepackage{amsmath}
\usepackage{tikz}

% le package qui pemet de définir des unités et leur affichage
\usepackage{siunitx} % Alignement des valeurs etc.
\sisetup{
    round-mode          = places, % Rounds numbers
    round-precision     = 2, % to 2 places
}

\usepackage{xcolor} % pour les couleurs sur les règles graduées par exemple
\definecolor{shamrockgreen}{rgb}{0.0, 0.62, 0.38}
\definecolor{rose}{rgb}{1.0, 0.0, 0.5}
\definecolor{richlavender}{rgb}{0.67, 0.38, 0.8}
\definecolor{tangelo}{rgb}{0.98, 0.3, 0.0}

%----------------------------------------------------------%
\begin{document}
\noindent MATH\'EMATIQUES
\newline
\vspace{1cm}
\noindent\begin{cursive}Un exemple de repère:\end{cursive}
\begin{center}
    \begin{tikzpicture}
        \draw (0,0) node {$\bullet$};
        \draw (0,0) node[below left]{$O$};
        \draw[->] (-0.4,0) -- (1,0);
        \draw[dashed] (-1.1,0) -- (-0.4,0);
        \draw (1,0) node[below]{$x$};
        \draw[->] (0,-0.4) -- (0,1);
        \draw[dashed] (0,-0.8)-- (0,-0.4);
        \draw (0,1) node[left]{$y$};
        \draw [dashed] (1,0) -- (2.4,0);
        \draw [dashed] (0,1) -- (0,2.4);
        \draw [dashed] (2,2) -- (2,0) node[below] {$2$};
        \draw [dashed] (2,2) -- (0,2) node[left] {$2$};
        \fill [red] (2,2) node[above=2mm,right]{$\alpha(2,2)$} ;
    \end{tikzpicture}
\end{center}

\vspace{1cm}

\noindent\begin{cursive}Exercice \no 12 p29:\end{cursive}

\begin{enumerate}[label=\alph*)]
    \item les abscisses des points sont en bleu:

    \begin{center}
        \begin{tikzpicture}[scale=15]
            \draw[->] [thick](-0.68,0) -- (0.13,0);
            \draw[step=0.01][very thin, gray] (-0.68,-0.06) grid (0.13,0.06);
    %le point M
            \draw (-0.6,0) node [above=5pt, red,fill=white]{$M$};
            \draw (-0.6,0) node {$|$};
            \draw (-0.6,0) node [below=5pt, blue,fill=white]{$-0,6\phantom{-}$};
            \draw (-0.5,0) node {$|$};
    %le point N
            \draw (-0.4,0) node [above=5pt, red,fill=white]{$N$};
            \draw (-0.4,0) node [below=5pt]{$-0,4\phantom{-}$};
            \draw (-0.4,0) node {$|$};
            \draw (-0.3,0) node [below=5pt]{$-0,3\phantom{-}$};
            \draw (-0.3,0) node {$|$};
            \draw (-0.2,0) node {$|$};
    %le point 0
            \draw (-0.1,0) node [above=5pt, red,fill=white]{$O$};
            \draw (-0.1,0) node {$|$};
            \draw (-0.1,0) node [below=5pt, blue,fill=white]{$-0,1\phantom{-}$};
            \draw (0,0) node {$|$};
            \draw (0,0) node [below=5pt]{$0$};
    %le point P
            \draw (0.1,0) node [above=5pt, red,fill=white]{$P$};
            \draw (0.1,0) node {$|$};
            \draw (0.1,0) node [below=5pt, blue,fill=white]{$0,1$};
        \end{tikzpicture}
    \end{center}

\item les points S et T :

    \begin{center}
        \begin{tikzpicture}[scale=15]
            \draw[->] [thick](-0.22,0) -- (0.78,0);
            \draw[step=0.01][very thin, gray] (-0.22,-0.06) grid (0.78,0.06);
            \draw (-0.1,0) node [above=5pt, red,fill=white]{$O$};
            \draw (-0.1,0) node {$|$};
            \draw (0,0) node {$|$};
            \draw (0,0) node [below=5pt]{$0$};
            \draw (0.1,0) node [above=5pt, red,fill=white]{$P$};
            \draw (0.1,0) node {$|$};
            \draw (0.1,0) node [below=5pt]{$0,1$};
    %le point T
            \draw (-0.16,0) node [above=5pt, red,fill=white]{$T$};
            \draw (-0.16,0) node {$|$};
            \draw (-0.16,0) node [below=5pt, blue,fill=white]{$-0,16\phantom{-}$};
    %le point S
            \draw (0.7,0) node [above=5pt, red,fill=white]{$S$};
            \draw (0.7,0) node {$|$};
            \draw (0.7,0) node [below=5pt, blue,fill=white]{$0,7$};
        \end{tikzpicture}
    \end{center}

\end{enumerate}

\end{document}

Responder1

O problema é que \phantom{-}dentro de cada um desses nós temos: {$-0,6\phantom{-}$}. Isso pede ao LaTeX para deixar um espaço do tamanho do _caractere após o número, e é por isso que você tem espaço extra após os números negativos. Se você retirar os \phantomcomandos, obterá:

insira a descrição da imagem aqui

EDITAR

Para ajustar ainda mais o posicionamento dos rótulos para que a vírgula fique alinhada com o marcador no eixo, você pode carregar oTikZ positioningbiblioteca e use comandos de posicionamento nos nós como below left=5pt and -12pt- aqui 5ptajusta a distância que o rótulo do nó aparece abaixo da coordenada e -18ptajusta a distância à esquerda. Desta forma, com algumas tentativas e erros para encontrar os ajustes apropriados, você pode obter:

insira a descrição da imagem aqui

Aqui está o seu código reduzido a umexemplo de trabalho mínimo:

\documentclass[11pt,a4paper]{article}
\usepackage{enumitem}

\usepackage{yfonts}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning}

%----------------------------------------------------------%
\begin{document}

\begin{enumerate}[label=\alph*)]
    \item les abscisses des points sont en bleu:

    \begin{center}
        \begin{tikzpicture}[scale=15]
            \draw[->] [thick](-0.68,0) -- (0.13,0);
            \draw[step=0.01][very thin, gray] (-0.68,-0.06) grid (0.13,0.06);
    %le point M
            \draw (-0.6,0) node [above=5pt, red,fill=white]{$M$};
            \draw (-0.6,0) node {$|$};
            \draw (-0.6,0) node [below left=5pt and -12pt, blue,fill=white]{$-0,6$};
            \draw (-0.5,0) node {$|$};
    %le point N
            \draw (-0.4,0) node [above=5pt, red,fill=white]{$N$};
            \draw (-0.4,0) node [below left=5pt and -12pt]{$-0,4$};
            \draw (-0.4,0) node {$|$};
            \draw (-0.3,0) node [below left=5pt and -12pt]{$-0,3$};
            \draw (-0.3,0) node {$|$};
            \draw (-0.2,0) node {$|$};
    %le point 0
            \draw (-0.1,0) node [above=5pt, red,fill=white]{$O$};
            \draw (-0.1,0) node {$|$};
            \draw (-0.1,0) node [below left=5pt and -12pt, blue,fill=white]{$-0,1$};
            \draw (0,0) node {$|$};
            \draw (0,0) node [below=5pt]{$0$};
    %le point P
            \draw (0.1,0) node [above=5pt, red,fill=white]{$P$};
            \draw (0.1,0) node {$|$};
            \draw (0.1,0) node [below=5pt, blue,fill=white]{$0,1$};
        \end{tikzpicture}
    \end{center}

\item les points S et T :

    \begin{center}
        \begin{tikzpicture}[scale=15]
            \draw[->] [thick](-0.22,0) -- (0.78,0);
            \draw[step=0.01][very thin, gray] (-0.22,-0.06) grid (0.78,0.06);
            \draw (-0.1,0) node [above=5pt, red,fill=white]{$O$};
            \draw (-0.1,0) node {$|$};
            \draw (0,0) node {$|$};
            \draw (0,0) node [below=5pt]{$0$};
            \draw (0.1,0) node [above=5pt, red,fill=white]{$P$};
            \draw (0.1,0) node {$|$};
            \draw (0.1,0) node [below=5pt]{$0,1$};
    %le point T
            \draw (-0.16,0) node [above=5pt, red,fill=white]{$T$};
            \draw (-0.16,0) node {$|$};
            \draw (-0.16,0) node [below left=5pt and -18pt, blue,fill=white]{$-0,16$};
    %le point S
            \draw (0.7,0) node [above=5pt, red,fill=white]{$S$};
            \draw (0.7,0) node {$|$};
            \draw (0.7,0) node [below=5pt, blue,fill=white]{$0,7$};
        \end{tikzpicture}
    \end{center}

\end{enumerate}

\end{document}

informação relacionada