我创建了一个 \newcommand,将图形添加到文本正文中,以使我的文件看起来整洁流畅。这是代码实现。
\documentclass[12pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figures packages & implementation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{graphicx} %Handles images.
\usepackage[labelfont=bf]{caption} %Captions - labelfond BOLD
\newcommand{\fig}[5]{
%%%% Figure %%%%
\begingroup
\setlength\belowcaptionskip{0.7\baselineskip}
\centering
\includegraphics[height=#2, width=#3]{Images/#1}
\captionof{figure}{#4}
\label{fig:#5}
\endgroup
} %The input parameters are as such:
% #1 - image's name in folder
% #2 - desired height
% #3 - desired width
% #4 - caption
% #5 - num of figure for labeling purposes (cref etc.)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\fig{example - image}{10cm}{10cm}{This is a cpation}{1}
\end{document}
这段代码工作正常,除了标签 {#5} 没有被设置为我发送的输入参数,而是将图形标记为 fig:#5。
这个想法是每个用户都应该能够通过输入的第 5 个参数来决定某张图片的标签是什么。我该怎么做?
*如果原来的错误没有修复,一个可接受的解决方案是将标签命名为与图片名称相同的名称(例如,文件夹中的图片名为 Pineapple,则标签将是 fig:Pineapple,
或者
*标签将根据图号自动编号。
谢谢你的帮助:>
编辑:我添加了执行命令
答案1
一个解决方案是使用easyfig
包。
\documentclass[twoside]{memoir}
\usepackage{easyfig}
\usepackage{hyperref}
\hypersetup{colorlinks}
\usepackage{cleveref}
\begin{document}
By default, label is \verb|fig:<picture name>|
\Figure[placement=h!, width=.5\linewidth, caption={Image a}]{example-image-a}
But user can specify the label.
\Figure[placement=h!, width=.5\linewidth, caption={Image b}, label={fig:b}]{example-image-b}
\Figure[placement=h!, min size={.5\linewidth}{!}, max size={!}{.7\textheight}]{example-image-c}
\cref{fig:example-image-a} and \cref{fig:b}
\end{document}