为什么仅仅加载 hyperref 包就会搞乱对齐?我该如何解决这个问题?
正确的图像和示例代码:
\documentclass{article}
\usepackage{tabularx}
\usepackage[margin=0pt,singlelinecheck=0,labelfont=bf]{subfig}
\usepackage{graphicx}
\graphicspath{{Bilder/}}
\usepackage[hidelinks]{hyperref}
\begin{document}
\begin{figure}[hbt]
\begin{tabularx}{\textwidth}{>{\raggedleft \arraybackslash}X
>{\raggedright\arraybackslash}X}
\subfloat[]{\label{fig-a}\includegraphics[width=0.3\textwidth]{1.png}}
& \subfloat[]{\label{fig-b}\includegraphics[width=0.2\textwidth] {1.png}}
\\%
\subfloat[]{\label{fig-c}\includegraphics[width=0.2\textwidth]{1.png}}
& \subfloat[]{\label{fig-d}\includegraphics[width=0.22\textwidth]{1.png}}
\end{tabularx}
\caption{}%
\label{}
\end{figure}
\end{document}
由于 hyperref 导致错位:
答案1
似乎\hyperref
强制根据其自己的标准对齐单元格内容。在的情况下tabular
,这意味着单元格内容将顶部对齐。当包含的图像\includegraphics{...}
具有相同的高度时,这并不重要......
但是,对于你的情况,图像的高度不同。如果你希望它们底部对齐,那么最简单的解决方法是重新定义列X
:
\renewcommand\tabularxcolumn[1]{b{#1}}
这将导致:
上述获取 MWE 的完整代码是:
\documentclass{article}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{b{#1}}
\usepackage{graphicx}
%\graphicspath{{Bilder/}}
\usepackage[margin=0pt,singlelinecheck=0,labelfont=bf]{subfig}
\usepackage[hidelinks]{hyperref}
\begin{document}
\begin{figure}[hbt]
\begin{tabularx}{\textwidth}{>{\raggedleft \arraybackslash}X
>{\raggedright\arraybackslash}X}
\subfloat[\label{fig-a}]{\includegraphics[width=0.3\textwidth]{example-image}}
& \subfloat[\label{fig-b}]{\includegraphics[width=0.2\textwidth] {example-image}}
\\%
\subfloat[\label{fig-c}]{\includegraphics[width=0.2\textwidth]{example-image}}
& \subfloat[\label{fig-d}]{\includegraphics[width=0.22\textwidth]{example-image}}
\end{tabularx}
\caption{}%
\label{}
\end{figure}
\end{document}
但是,如果你想让底部图片在顶部对齐,但保持顶部图片在底部对齐(请参阅我对你的问题的回答中的附录 2问题)你可以使用该包\adjustwidth
:
\documentclass{article}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{b{#1}}
\usepackage{graphicx}
%\graphicspath{{Bilder/}}
\usepackage[export]{adjustbox}
\usepackage[margin=0pt,singlelinecheck=0,labelfont=bf]{subfig}
\usepackage[hidelinks]{hyperref}
\begin{document}
\begin{figure}[hbt]
\begin{tabularx}{\textwidth}{>{\raggedleft \arraybackslash}X
>{\raggedright\arraybackslash}X}
\subfloat[\label{fig-a}]{\includegraphics[width=0.3\textwidth]{example-image}}
& \subfloat[\label{fig-b}]{\includegraphics[width=0.2\textwidth] {example-image}}
\\%
\subfloat[\label{fig-c}]{\includegraphics[width=0.2\textwidth,valign=T]{example-image}}
& \subfloat[\label{fig-d}]{\includegraphics[width=0.22\textwidth,valign=T]{example-image}}
\end{tabularx}
\caption{}%
\label{}
\end{figure}
\end{document}
为了得到: