我有这个代码:
\documentclass{article}
\usepackage{fontspec}
\usepackage{xcolor}
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0.22,0.45,0.70}% light blue
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
\author{}
\newcommand{\colorsection}[1]{%
\raisebox{-1mm}{%
\textcolor{color1}{%
\rule{2ex}{2ex}\hspace{5mm}}%
\section{#1}%
}%
}%
\begin{document}
\colorsection{test}
\end{document}
xelatex f.tex
结果是:
This is XeTeX, Version 3.14159265-2.6-0.99991 (TeX Live 2014) (preloaded format=xelatex)
[...]
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.21 \colorsection{test}
? X
No pages of output.
Transcript written on test.log.
我已检查过括号对,一切正常。
我的问题
我的错误在哪里?我没有发现。
答案1
您的代码相当于
\documentclass{article}
\begin{document}
\mbox{\section{abc}}
\end{document}
\raisebox
制作一个水平(LR)框,像\mbox
这样的垂直显示构造\section
是不允许的。
与错误无关,但如果您\section
从盒子中取出:
\raisebox{-1mm}{
\textcolor{color1}{
\rule{2ex}{2ex}\hspace{5mm}}}
这样规则左侧就会有两个字空格,一个位于凸起框的开始处,另一个位于彩色区域的开始处。几乎可以肯定,这应该编码为
\raisebox{-1mm}{%
\textcolor{color1}{%
\rule{2ex}{2ex}\hspace{5mm}}
尽管\hspace
如果下一节标题位于其下方,则不会产生任何明显的效果。