Making includegraphics placement conditional on width of graphic
You can directly use \makebox
:
\documentclass[
paper=8.5in:11in,
BCOR=0.5in,
twoside=true
]{scrbook}
\areaset[0.5in]{5in}{8in}
\addtolength{\voffset}{0.5in}
\setlength{\marginparwidth}{0.5in}
\setlength{\marginparsep}{1in}
\usepackage[showframe,pass]{geometry}
\usepackage{scrhack}
\usepackage{float}
\usepackage{graphicx}
\usepackage[figurename=Example]{caption}
\usepackage{subcaption}
\usepackage{newfloat}
\usepackage{adjustbox}
\newsavebox{\igbox}
\newcommand{\igdecide}{%
\ifdim\wd\igbox<\textwidth
c%
\else
\ifoddpage
l%
\else
r%
\fi
\fi
}
\newcommand{\fincludegraphics}[2][]{%
\par
\sbox\igbox{\includegraphics[#1]{#2}}%
\checkoddpage
\makebox[\textwidth][\igdecide]{\usebox{\igbox}}%
}
\begin{document}
\mainmatter
\begin{figure}[!ht]
\fincludegraphics[width=1.1\textwidth]{example-image-16x10}
\captionbelow{Captions always centered on textwidth}
\fincludegraphics[width=0.7\textwidth]{example-image-16x10}
\captionbelow{Captions always centered on textwidth}
\end{figure}
\newpage
\begin{figure}[!ht]
\fincludegraphics[width=1.1\textwidth]{example-image-16x10}
\captionbelow{Captions always centered on textwidth}
\fincludegraphics[width=0.7\textwidth]{example-image-16x10}
\captionbelow{Captions always centered on textwidth}
\end{figure}
\end{document}