\documentclass{ctexart}
\usepackage{graphicx}
\usepackage{geometry}
\geometry{top=2cm,bottom=2cm,left=2cm,right=2cm}
\begin{document}
\begin{figure}[h]
\begin{minipage}{9cm}
\centering
\includegraphics[width=8cm]{pic.jpg}
\caption{1}
\end{minipage}
\begin{minipage}{9cm}
\centering
\includegraphics[width=8cm]{pic.jpg}
\caption{2}
\end{minipage}
\end{figure}
\end{document}
请问这里为什么左右边距看起来不一样?如何强制调整为相同?
考古...
好像用0.5\textwidth代替9cm可以解决,但是是什么原理?
正如群主所说,是因为两个minipage的总间距超过了页面版心的宽度。

这段距离没有超过了两个minipage的总宽度(18cm)...
这同时导致一个警告:
Overfull \hbox (13.88782pt too wide) in paragraph at lines 8--18
[]$[]$ $[]$一种解决办法是,将距离缩短为(比如8.5cm),并再用\hfill填充距离:
\documentclass{article}
\usepackage{graphicx}
\usepackage[showframe]{geometry}
\usepackage[type=upperleft]{fgruler}
\geometry{margin=2cm}
\begin{document}
\begin{figure}[htbp]
\begin{minipage}{8.5cm}
\centering
\includegraphics[width=8cm]{example-image-a}
\caption{1}
\end{minipage}\hfill%
\begin{minipage}{8.5cm}
\centering
\includegraphics[width=8cm]{example-image-b}
\caption{2}
\end{minipage}
\end{figure}
\end{document}
另一种解决办法是你所说的.5\textwidth:
\documentclass{article}
\usepackage{graphicx}
\usepackage[showframe]{geometry}
\usepackage[type=upperleft]{fgruler}
\geometry{margin=2cm}
\begin{document}
\begin{figure}[htbp]
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=8cm]{example-image-a}
\caption{1}
\end{minipage}
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=8cm]{example-image-b}
\caption{2}
\end{minipage}
\end{figure}
\end{document}会得到如下的结果:

但此时还是有警告(但这时的距离明显缩短了,仅有2.2222pt):
Overfull \hbox (2.2222pt too wide) in paragraph at lines 8--18
[]$[]$ $[]$如果你说你的眼睛就是尺,你还会发现其实还是没有exactly对齐,这是因为缺少%吞去行末空格导致的。详见这个经典回答:
需要在两个minipage之间加上一个%:
\documentclass{article}
\usepackage{graphicx}
\usepackage[showframe]{geometry}
\usepackage[type=upperleft]{fgruler}
\geometry{margin=2cm}
\begin{document}
\begin{figure}[htbp]
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=8cm]{example-image-a}
\caption{1}
\end{minipage}%%%%注意这里的行末%不可或缺
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=8cm]{example-image-b}
\caption{2}
\end{minipage}
\end{figure}
\end{document}
因为你的间距超出页面的宽度了,你要调整小一点了。