我想插入一个矩形后跟一些文本,例如如果破折号表示矩形的位置,我想实现如下效果:
---- 一些文本
我正在使用文章文档类。我尝试过:
\begin{color}[cmy]{0.7, 0.5, 0.3}
\noindent
\makebox[\linewidth][l]{\rule{2cm}{4pt}}
\fontsize{14}{0}\fontfamily{cmss}\selectfont\textbf{Experience}
\end{color}
这会产生一个蓝色矩形框,但文本会出现在下面,而不是相邻。如果我删除\makebox
和\fontsize
行之间的换行符,文本会出现在与蓝色矩形相同的行上,但中间有大量空白。
任何想法都将不胜感激。
答案1
环境color
不存在。虽然\begin{color}
没有出现错误,但正如您所发现的,其影响是相当难以预测的。
解决方法是将颜色变化放入盒子中。
不要使用明确的字体大小或字体系列设置;抽象命令更好。另外给颜色命名也更好,因为它有助于抽象事物并在应该的地方获得相同的颜色。
\documentclass{article}
\usepackage{xcolor}
\usepackage{showframe} % just for the example
\definecolor{cventry}{cmy}{0.7, 0.5, 0.3}
\begin{document}
\section{Wrong}
The following is wrong because the \texttt{color} environment
does not exist and using \verb|\begin{color}| leads to
unexpected results
\bigskip
\begin{color}[cmy]{0.7, 0.5, 0.3}
\noindent
\makebox[\linewidth][l]{\rule{2cm}{4pt}}
\fontsize{14}{0}\fontfamily{cmss}\selectfont\textbf{Experience}
\end{color}
\section{Right}
The solution is to put everything in the box.
\bigskip
\noindent\makebox[\linewidth][l]{%
\color{cventry}%
\Large\sffamily
\rule{2cm}{4pt} \textbf{Experience}%
}
\end{document}
该showframe
包绘制了文本区域的边框;不要在文档的生产版本中使用它。
实际上,错误不是由于color
环境不存在,而是由于您将规则放在了\linewidth
宽框中,因此文本必然会进入下一行。但我更愿意强调 的错误用法\color
。