Overleaf中为两组子图分别设置独立共享标题的问题求助
Overleaf中为两组子图分别设置独立共享标题的问题求助
嘿,我完全懂你现在的困扰——想给法国、意大利的两组子图各配一个专属的共享标题,但试了半天要么标题串用,要么没法对应到正确的图组上。咱们来拆解下问题,再给出可行的解决办法~
问题根源
你目前把两组子图都塞进了同一个figure环境里,还连续用了两个\caption。但LaTeX的figure浮动环境默认只支持一个主标题,第二个\caption会被识别成这个figure的“续标题”,自然达不到你要的分组效果。另外你的代码里重复加载了caption包,这可能引发潜在的排版冲突,得先删掉重复的那行。
解决方案一:分成两个独立的figure环境
这是最直观的方式,把法国组和意大利组的子图分别放在各自的figure环境中,每个figure的\caption就对应这一组的标题。修改后的代码如下:
\documentclass[12pt]{article} \usepackage{amsmath} \usepackage{setspace} \usepackage[labelfont=bf, justification=justified, singlelinecheck=false]{caption} \captionsetup[figure]{labelsep=period,name=FIGURE,font=custom} \usepackage[tablename=TABLE,font=custom,labelsep=period]{caption} \usepackage{afterpage} \usepackage{longtable} \usepackage{graphicx} \usepackage{bbding} \usepackage{pifont} \usepackage{wasysym} \usepackage{rotating} \usepackage{amsmath,amssymb} \usepackage[flushleft]{threeparttable} \usepackage{array,booktabs,makecell} \usepackage{changepage} \setcounter{tocdepth}{1} \usepackage{subcaption} \begin{document} % 法国组子图 \begin{figure}[H] \centering \begin{subfigure}[b]{0.5\textwidth} \centering \includegraphics[height=0.5\textwidth]{example-image.pdf} \end{subfigure}% \begin{subfigure}[b]{0.5\textwidth} \centering \includegraphics[height=0.5\textwidth]{example-image.pdf} \end{subfigure} \caption{France charts} \end{figure} % 意大利组子图 \begin{figure}[H] \centering \begin{subfigure}[b]{0.5\textwidth} \centering \includegraphics[height=0.5\textwidth]{example-image.pdf} \end{subfigure}% \begin{subfigure}[b]{0.5\textwidth} \centering \includegraphics[height=0.5\textwidth]{example-image.pdf} \end{subfigure} \caption{Italy charts} \end{figure} \end{document}
解决方案二:同一浮动环境内用minipage分组(适合同页展示)
如果希望两组图放在同一个浮动块里,你可以用minipage分别包裹每组子图,再用\caption给每组生成独立标题,这样两组图会在同一个大figure里,但各有专属标题:
\documentclass[12pt]{article} \usepackage{amsmath} \usepackage{setspace} \usepackage[labelfont=bf, justification=justified, singlelinecheck=false]{caption} \captionsetup[figure]{labelsep=period,name=FIGURE,font=custom} \usepackage[tablename=TABLE,font=custom,labelsep=period]{caption} \usepackage{afterpage} \usepackage{longtable} \usepackage{graphicx} \usepackage{bbding} \usepackage{pifont} \usepackage{wasysym} \usepackage{rotating} \usepackage{amsmath,amssymb} \usepackage[flushleft]{threeparttable} \usepackage{array,booktabs,makecell} \usepackage{changepage} \setcounter{tocdepth}{1} \usepackage{subcaption} \begin{document} \begin{figure}[H] \centering % 法国组子图 \begin{minipage}{\textwidth} \centering \begin{subfigure}[b]{0.5\textwidth} \centering \includegraphics[height=0.5\textwidth]{example-image.pdf} \end{subfigure}% \begin{subfigure}[b]{0.5\textwidth} \centering \includegraphics[height=0.5\textwidth]{example-image.pdf} \end{subfigure} \caption{France charts} \end{minipage} \vspace{1em} % 两组图之间添加间距 % 意大利组子图 \begin{minipage}{\textwidth} \centering \begin{subfigure}[b]{0.5\textwidth} \centering \includegraphics[height=0.5\textwidth]{example-image.pdf} \end{subfigure}% \begin{subfigure}[b]{0.5\textwidth} \centering \includegraphics[height=0.5\textwidth]{example-image.pdf} \end{subfigure} \caption{Italy charts} \end{minipage} \end{figure} \end{document}
额外提示
记得一定要删掉代码里重复的\usepackage{caption}哦,我已经在上面的示例中帮你移除了,避免包加载冲突导致的异常问题~
备注:内容来源于stack exchange,提问作者daviddupont
相关产品推荐
相关产品推荐

