我想将小页面推到页面的左边界。我理解,这\leftmargin
应该是页面边框和文本主体之间的距离。因此,使用hspace
该长度的负数应该可以将其推到边缘。但事实并非如此。我遗漏了什么吗?
此外,由于框的宽度和长度相同,它不应该与文本主体齐平吗?
梅威瑟:
\documentclass{article}
\usepackage[margin=2cm, a4paper, nomarginpar, hoffset=0pt]{geometry}
\usepackage{showframe}
\usepackage{color}
\definecolor{blackgray}{rgb}{0.25,0.25,0.25}
\setlength{\parindent}{0pt}
\begin{document}
\hspace{-\leftmargin}%
\colorbox{blackgray}{%
\begin{minipage}{\leftmargin}
\color{white}test
\end{minipage}
}
\end{document}
答案1
\leftmargin
是错误的测量值(有帮助...)。左边距测量为 1 英寸,加上\oddsidemargin
(对于实际的 2cm 边距,将为负数),因此这就是您想要的:
\documentclass{article}
\usepackage[margin=2cm, a4paper, nomarginpar, hoffset=0pt]{geometry}
\usepackage{showframe}
\usepackage{color}
\definecolor{blackgray}{rgb}{0.25,0.25,0.25}
\setlength{\parindent}{0pt}
\begin{document}
\hspace{-\dimexpr1in+\oddsidemargin\relax}%
\colorbox{blackgray}{%
\begin{minipage}{\dimexpr1in+\oddsidemargin-2\fboxsep\relax}
\color{white}test
\end{minipage}
}
\end{document}
请注意的宽度设置minipage
,它使用相同的尺寸,但也删除了其中两个部分,\fboxsep
即内部文本周围的填充colorbox
。