macros

установить место в строке для \newcommand

Я добавил \new-команду "Источник" для добавления источника рисунка после его подписи.Однако,я обнаружил некоторую проблему с регулировкой пространства между источником и подписью.Мой код:

\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 , более разумным подходом будет использование \captionsetup внутри вашего макроса \souce для удаления пробелов.

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

Таким образом, вместо того , чтобы смотреть \vspace на глаз, чтобы он выглядел нормально, представленный подход будет работать, несмотря на глобальные настройки интервалов.