Como controlar as dimensões do \colorbox

Como controlar as dimensões do \colorbox

Quero um retângulo colorido horizontal longo e estreito, algo mais parecido com uma linha grossa, mas não consigo obter a altura abaixo de um determinado valor. O melhor que posso fazer é:

\documentclass[11pt]{book}
\usepackage{color}
\begin{document}
xxxxx\colorbox{red}{%
\phantom{------------------}
}%
xxxxx 
\end{document}

onde o número de -controla o comprimento, mas eu gostariano máximo metadea altura de:

insira a descrição da imagem aqui

Tentei várias soluções propostas para questões sobre a altura das caixas, mas não consegui encontrar nada que fizesse isso. Eu perdi alguma coisa?

Responder1

O problema é que -há uma caixa com um espaço em branco ao redor. Você pode ver isso escrevendo

\setlength{\fboxsep}{0pt}
\fbox{-}

que produz

Exemplo de traço

indicando que a caixa que contém o travessão fica na linha de base e sobe até a altura de uma letra maiúscula. (Na verdade, ---está produzindo um glifo diferente, mas as mesmas considerações se aplicam.) Para obter melhor controle, use um \rule. A sintaxe é

\rule[2pt]{3cm}{1.5ex}

para produzir uma regra de largura 3cme altura, 1.5extudo elevado 2ptacima da linha de base. No seu caso caber com o x's \rule{2cm}{1ex}deve ser suficiente, já que 1exé a altura nominal da xfonte, mas existem alguns efeitos ópticos das serifas, então sugiro

\rule[-0.05ex]{2cm}{1.1ex}

Como esta é a forma real que você deseja ver, você pode encerrá-la de uma forma simples, \textcolorem vez de criar um fantasma.

Exemplo de saída

\documentclass[11pt]{book}

\usepackage{color}

\begin{document}

xxxxx\textcolor{red}{\rule[-0.05ex]{2cm}{1.1ex}}xxxxx

\end{document}

informação relacionada