`\mycaption` 上的问题

`\mycaption` 上的问题

我在这个项目上遇到了麻烦。我用过\mycaption,但这给了我“图1“在图表和表格中均如此。

在此先非常感谢您的指引。

\documentclass{sciposter}
\usepackage[brazilian]{babel}
\usepackage[utf8]{inputenc}
%\usepackage[latin1]{inputenc}
\usepackage[centertags]{amsmath}
\usepackage{hyperref,amsfonts,multirow,multicol}
\usepackage{amssymb}
\usepackage{tipa}
\usepackage{ascii}
\hypersetup{pdfpagelayout=SinglePage} %abre a pagina em modo simples
\hypersetup{pdfborder = {0 0 0}}
\graphicspath{{figures/}}
\usepackage{graphicx,colortbl}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{graphics}
\usepackage{amsmath}
\usepackage{latexsym}
\usepackage{lscape}
\usepackage{fix-cm}
\usepackage{anysize}
\usepackage{lipsum} %sugest\~ao de texto
\usepackage{geometry}
\usepackage{mathrsfs}
\usepackage{amsthm}
\usepackage{wrapfig}
%\graphicspath{ {images/} }
\usepackage[dvipsnames]{xcolor}
\geometry{paperwidth=83.96cm,paperheight=128.82cm,centering,
textwidth=75cm,textheight=117cm,left=2cm,top=2cm}
\pagestyle{plain}
\frenchspacing
%\usepackage{pstricks,pst-solides3d}
%\usepackage{tikz}

\newtheorem{teo}{Teorema}
{\theoremstyle{stylename}
\newtheorem{exemplo}{Exemplo}}
{\theoremstyle{stylename}
\newtheorem{defi}{Definição}}
%%Transformando tudo em branco
\renewcommand{\thesection}{\textcolor{white}{\arabic{section}}}
\renewcommand{\thesubsection}{\textcolor{white}{\arabic{section}.\arabic{subsection}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%                mycaption                     %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \mycaption - replacement for \caption
% necessary, since in multicol-environment \figure and
% therefore \caption won't work
%\newcounter{figure}
\setcounter{figure}{0}
\newcommand{\mycaption}[1]{
\vspace{0.6cm}
\begin{quote}
{{\sc Figura} \arabic{figure}: #1}
\end{quote}
\vspace{1cm}
}
%\addto\captionsbrazil{\renewcommand{\bibname}{\textcolor{white}{Refer\^encias}}}

%%Definindo cores
\definecolor{BoxCol}{gray}{0.1}

%%Define o caminho das figuras, válido somente para o comando \includegraphics
\graphicspath{{figuras/}}
%********************************************************************
%Teoremas
%\usepackage{theorem}
%\theorembodyfont{\normalfont\upshape}
%\newtheorem{ex}{Exemplo}
%\newenvironment{defn}[1][Defini\c{c}\~ao]{\textbf{#1:}\}%
%********************************************************************
%%Definindo de novos comandos

\newcommand{\tituloA}[1]{\emph{\textbf{\color{white}{#1}}}}
\newcommand{\tituloB}[1]{\emph{\textbf{\color{blue}{#1}}}}
\newcommand{\R}{\mathbb{R}}


%********************************************************************
\begin{document}

\begin{figure}[H]
    \centering
    \includegraphics[width=30cm]{compartimental.jpg}
   \mycaption{Esquema dos Compartimentos dos humanos à
   esquerda e dos mosquitos à
   direita.}
\end{figure}



\begin{table}[h!]
\centering
\begin{tabular}{c c c } 

 \hline
 Parâmetros & Significado &Faixa utilizada \\ [0.5ex] 

 \hline 

\end{tabular}
\mycaption{ Valores utilizados nos parâmetros.}
\label{table:1}
\end{table}

\end{document} 

答案1

在您的文档中,该\mycaption命令定义为

\newcommand{\mycaption}[1]{
    \vspace{0.6cm}
    \begin{quote}
    {{\sc Figura} \arabic{figure}: #1}
    \end{quote}
    \vspace{1cm}
}

因此,\mycaption无论在何处使用该命令,调用时该命令都会始终写入“Figura”。特别是,如果您\mycaption在 中使用该命令,table它仍会写入“Figura”。

为了解决这个问题,你可以复制 的定义\mycaption,并定义一个\mycaptiontable与 相同的命令\mycaption,但其定义中的单词Tabela不是 ,而是Figura。因此,你可以使用命令

\newcommand{\mycaptiontable}[1]{
    \vspace{0.6cm}
    \begin{quote}
    {\textsc{Tabela} \arabic{table}: #1}
    \end{quote}
    \vspace{1cm}
}

(请注意,我也在这里进行了更改。这{\sc ...}\textsc{...}您的问题无关,但实际上命令\sc\bf\it已经过时,您应该始终使用\textsc\textbf\textit命令来代替。)

第一种方法有效,应该能得到你想要的结果。但是,我认为这不是最好的解决方案。该包caption提供了一个\captionof在浮动环境之外插入标题的命令,因此你可以简单地使用此命令。这是从你的文档中制作的一个小例子。

\documentclass{sciposter}
\usepackage[brazilian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[font=small,labelfont=sc]{caption}

\begin{document}

\begin{figure}[H]
    \centering
    \includegraphics[width=10cm]{example-image}
    \addtocounter{figure}{-1}
    \captionof{figure}{Esquema dos Compartimentos dos humanos à esquerda e dos mosquitos à direita.}
\end{figure}

\begin{table}[h!]
    \centering
    \begin{tabular}{c c c} 
        \hline
        Parâmetros & Significado & Faixa utilizada \\[0.5ex] 
        \hline 
    \end{tabular}
    \addtocounter{table}{-1}
    \captionof{table}{Valores utilizados nos parâmetros.}
\end{table}

\end{document}

此代码产生:

我想我应该针对最后这个例子提出两点评论。

  1. 环境figure\captionof{figure}命令都会将figure计数器增加 1。因此,如果我们想让计数器figure总体上只增加 1,我们必须在调用\addtocounter{figure}{-1}之前添加\caption{figure}。表格的情况也一样。

  2. 对于标题标签FiguraTabela用小写字母书写,我更改了加载包时labelfont=bf的选项。labelfont=sccaption

相关内容