macros

Set line space for `newcommand

我添加了一个新的命令,"Source",用于在标题之后添加数字的来源。然而,我发现在调整源和标题之间的空间方面存在一些问题。我的代码。

\documentclass{article}
\renewcommand{\baselinestretch}{1.25} 
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx}  
\graphicspath{{./images/}}
\usepackage{caption}
\usepackage{subcaption}
\newcommand{\source}[1]{\caption*{Source: {#1}}}  % define a new style of caption, "source"
\begin{document}
\begin{figure}[ht]
    \centering
    \includegraphics[width=0.8\textwidth]{DS products & service.png}
    \caption{Some products and services 3DS provides}
    \source{Dassault systèmes website, \url{https://www.3ds.com/products-services/}}
    \label{fig:prodService}
\end{figure}
\end{document}

而结果就像下图一样。红色箭头所指的线条空间太宽,我应该如何调整?

\source 的定义中添加一些负垂直空间:

\documentclass{article}
\usepackage[left=1cm,right=1cm]{geometry}
\usepackage{hyperref}
\renewcommand{\baselinestretch}{1.25} 
\usepackage[demo]{graphicx}  
\usepackage{caption}
\usepackage{subcaption}
\newcommand{\source}[1]{\vspace{-1Em}\caption*{Source: {#1}}}  % define a new style of caption, "source"
\begin{document}
\begin{figure}[ht]
    \centering
    \includegraphics[width=0.8\textwidth]{DS products & service.png}
    \caption{Some products and services 3DS provides}
    \source{Dassault systèmes website, \url{https://www.3ds.com/products-services/}}
    \label{fig:prodService}
\end{figure}
\end{document}




由于您使用的是 caption 包,更明智的方法是在您的 \souce 宏中使用 \captionsetup captionsetup来删除间距。

\newcommand{\source}[1]{\captionsetup{aboveskip=0pt}\caption*{Source: {#1}}}

因此,尽管使用全局间距设置,但所提出的方法将起作用,而不是盯着 \vspace 使其看起来不错。