我试图显示两个东西(一个有边框和一个有阴影的边框),它们都延伸到整个文本区域 - 也就是说,因为我的边距为 1cm,所以边框应该从页面左边缘 1cm 处开始,一直延伸到页面右边缘 1cm 处。
不幸的是,它似乎开始得太远(约 1.5 厘米)并且继续向右太远(距边缘约 0.5 厘米)。我做错了什么?
\documentclass[a4paper,10pt]{report}
\usepackage[portrait,a4paper,margin=1.0cm,headsep=5mm]{geometry}
\usepackage{color}
\begin{document}
\framebox[\textwidth]{test}
\colorbox[gray]{0.85}{
\parbox{\textwidth}{test}
}
\end{document}
答案1
这是缩进问题。当您开始一个新段落时,文本(或其他所有内容)将按 中指定的一定量缩进\parindent
。解决方案是告诉 LaTeX 不必使用 来缩进该行\noindent
:
\documentclass[a4paper,10pt]{report}
\usepackage[portrait,a4paper,margin=1.0cm,headsep=5mm]{geometry}
\usepackage{color}
\begin{document}
\framebox[\textwidth]{test}
\colorbox[gray]{0.85}{
\parbox{\textwidth}{test}
}
\noindent\framebox[\textwidth]{test}
\noindent\colorbox[gray]{0.85}{
\parbox{\textwidth}{test}
}
\end{document}
我不确定,但我认为\colorbox
大于,因为在指定宽度\textwidth
时应该考虑到其内容的内边框\parbox
答案2
对于彩盒案例添加
\usepackage{calc}
然后
\noindent\colorbox[gray]{0.85}{%
\parbox{\textwidth - 2 \fboxsep}{test}%
}
两者%
需要否则,颜色框由一个字空间、一个 parbox 和另一个字空间组成,因此其内容比内部框宽 2 个空格,然后颜色框本身会添加填充,因此您需要使 parbox 稍微小一些。
答案3
评论
指定
showframe=true
或 就像选项showframe
一样geometry
将显示\textwidth
边框。边框将让您轻松查看内容是否超出了边框。\colorbox
没有框架,只有填充。您需要调整 parbox 大小\dimexpr\textwidth-2\fboxsep\relax
。\fbox
同时具有 padding 和 frame,则 parbox 大小变为\dimexpr\textwidth-2\fboxsep-2\fboxrule\relax
。用于
\noindent
删除段落缩进。\fboxsep
控制填充并\fboxrule
控制框架厚度。
\documentclass{article}
\usepackage[
paperwidth=7cm,
paperheight=7cm,
margin=2cm,
showframe=true]
{geometry}
\usepackage{xcolor}
\begin{document}
\noindent
\colorbox{red}{%
\parbox{\dimexpr\textwidth-2\fboxsep\relax}
{\centering test}%
}
\noindent
\fbox{%
\parbox{\dimexpr\textwidth-2\fboxsep-2\fboxrule\relax}
{\centering test}%
}
\end{document}