页面上 mdframed 图像的水平和垂直居中

页面上 mdframed 图像的水平和垂直居中

我想将一张大图像放置在多页文档中每页的水平和垂直中心,同时将每张图像放置在一个细的黑色框架中。每张图像的尺寸应比 mdframe 大一些,这样框架就会覆盖图像。

为什么下面的代码在所有三个方面(水平对齐、垂直对齐和框架)都失败了?

\documentclass[a4paper,11pt]{article}
\usepackage{graphicx}
\usepackage{mdframed}
\usepackage{mwe}
\begin{document}

\vfill
\begin{mdframed}[linewidth=1pt, leftmargin=0cm, rightmargin=0cm, align=left]
    \centering
    \includegraphics[width=1.25\textwidth]{example-image}
\end{mdframed}
\vfill
\pagebreak

\vfill
\begin{mdframed}[linewidth=1pt, align=center]
    \centering
    \includegraphics[width=1.25\textwidth]{example-image}
\end{mdframed}
\vfill
\pagebreak

\vfill
\begin{mdframed}[linewidth=1pt, align=right]
    \centering
    \includegraphics[width=1.25\textwidth]{example-image}
\end{mdframed}
\vfill

\end{document}

编辑1: 关于图像和框架的期望结果: 在此处输入图片描述

答案1

为了回答你的问题,为什么问题中的代码不起作用,

垂直居中无法实现,因为页面顶部的空格会被丢弃,就像在换行符处删除单词间空格一样,所以您不希望\vspace*{\fill}表单\vfill阻止*删除空格。

框架与图像并不紧密,因为本质上您正在包裹一个宽度为 parbox 的盒子,\textwidth因此框架围绕着它。图像使盒子过满,但这不会改变框架大小。

由于无法将过满的盒子居中,因此无法实现水平居中\centering,溢出始终在右侧。


我不确定我是否理解了这些要求,但也许


B 计划

在此处输入图片描述

\documentclass[a4paper,11pt]{article}
\usepackage{graphicx}

\begin{document}

\centering

\linethickness{2pt}

\vspace*{\fill}

\sbox0{\includegraphics[width=1.25\textwidth,trim=10pt 10pt 10pt 10pt]{example-image}}

\makebox[0pt]{\usebox{0}\llap{\frame{\phantom{\usebox0}}}}

\vspace*{\fill}


\end{document}

计划A

在此处输入图片描述

\documentclass[a4paper,11pt]{article}
\usepackage{graphicx}

\begin{document}

\centering

\vspace*{\fill}

\makebox[\textwidth][l]{\frame{\includegraphics[width=1.25\textwidth]{example-image}}}

\vspace*{\fill}

\pagebreak

\vspace*{\fill}

\makebox[\textwidth][c]{\frame{\includegraphics[width=1.25\textwidth]{example-image}}}

\vspace*{\fill}

\pagebreak

\vspace*{\fill}

\makebox[\textwidth][r]{\frame{\includegraphics[width=1.25\textwidth]{example-image}}}

\vspace*{\fill}



\end{document}

相关内容