captionof 增加 2 个

captionof 增加 2 个

我遇到了类似描述的问题这里。我创建了一个命令,它将在图像旁边输出一个标题(在此示例中由简单文本替换)。

\documentclass[a4paper,12pt]{scrartcl} 
\usepackage[ngerman]{babel}    
\usepackage[T1]{fontenc}       
\usepackage[utf8]{inputenc} 
\usepackage{graphicx}
\usepackage{vwcol}  
\usepackage{caption}

\captionsetup{format=plain,width=0.7\textwidth}

\begin{document}
\newcommand{\yasfig}[3]
{\begin{vwcol}[widths={0.3,0.7},
 sep=.8cm, justify=flush,rule=0pt,indent=0em]
#1

\begin{minipage}{0.68\linewidth}
\captionof{figure}{#2}
\label{#3}
\end{minipage}
\end{vwcol}}

\yasfig{Gel}{Bla}{fig:Gel}
\yasfig{Blot}{Bla}{fig:Blot}

\end{document}

这将输出所需的布局,但每次调用命令时图形数量都会增加 2。我猜这与 minipage 有关,但我对此一头雾水。

答案1

如果您只需要将标题放在图像旁边,那么除了使用多列环境之外还有其他方法,例如使用两个minipage相邻的列,第一个列用于图像,第二个列用于标题。另一种方法是使用captionofbesideKOMA 类提供的环境。

请注意,我不知道您想要的图像和标题的宽度到底有多宽,所以您可能需要修改宽度。环境minipage中的captionofbeside宽度并不是绝对必要的。对于标题和图像的垂直对齐,可能还需要进行一些修改,但我不知道您到底想要怎么做。

\documentclass[a4paper,12pt]{scrartcl} 
\usepackage[ngerman]{babel}    
\usepackage[T1]{fontenc}       
\usepackage[utf8]{inputenc} 
\usepackage{graphicx}
\usepackage{caption}

\captionsetup{format=plain,width=0.7\textwidth}

\newcommand{\yasfig}[3]
{\noindent\begin{minipage}{0.25\linewidth}
#1
\end{minipage}\hfill
\begin{minipage}{0.68\linewidth}
\captionof{figure}{#2}
\label{#3}
\end{minipage}}

\newcommand\yyasfig[3]{%
\noindent\begin{captionofbeside}{figure}{#2\label{#3}}[r]
\begin{minipage}{.25\linewidth}
#1
\end{minipage}
\end{captionofbeside}}
\begin{document}

\yasfig{\includegraphics[width=\linewidth,height=2cm]{example-image}}{Bla}{fig:Gel}
\yasfig{\includegraphics[width=\linewidth,height=2cm]{example-image-a}}{Bla}{fig:Blot}

\yyasfig{\includegraphics[width=\linewidth,height=2cm]{example-image-b}}{Bla}{fig:Gel2}
\yyasfig{\includegraphics[width=\linewidth,height=2cm]{example-image-c}}{Bla}{fig:Blot2}

\end{document}

答案2

不确定为什么它会修复它,但我在离开之前从图形计数器中减去 1 vwcol,然后在离开环境后将其加回去。我猜想这与有关vwcol,或者正如您所怀疑的那样,与 的vwcol相互作用minipage

\documentclass[a4paper,12pt]{scrartcl} 
\usepackage[ngerman]{babel}    
\usepackage[T1]{fontenc}       
\usepackage[utf8]{inputenc} 
\usepackage{graphicx}
\usepackage{vwcol}  
\usepackage{caption}

\captionsetup{format=plain,width=0.7\textwidth}

\begin{document}
\newcommand{\yasfig}[3]
{\begin{vwcol}[widths={0.3,0.7},
 sep=.8cm, justify=flush,rule=0pt,indent=0em]
#1

\begin{minipage}{0.68\linewidth}
\captionof{figure}{#2}
\label{#3}
\end{minipage}
\addtocounter{figure}{-1}%
\end{vwcol}\addtocounter{figure}{1}%
}

\yasfig{Gel}{Bla}{fig:Gel}
\yasfig{Blot}{Bla}{fig:Blot}

\end{document}

在此处输入图片描述

相关内容