Qual é a vantagem de usar a notação 'fig:' no \label {}?

Qual é a vantagem de usar a notação 'fig:' no \label {}?

Lendo manuais, sempre encontro figuras rotuladas como \label{fig:name}. Eu me pergunto onde está a vantagem de usar essa notação em fig:vez de começar com o próprio nome. Se no meu documento tenho apenas figuras quando faço \refalgo usando o rótulo sem fig:é mais rápido porque não preciso digitar fig:antes para encontrar a figura certa que desejo. Há alguma vantagem que estou perdendo? Devo usar fig:?

insira a descrição da imagem aqui

Responder1

Aqui estão pelo menos dois motivos:

  • Ele expressa o significado do rótulo de uma forma muito sensata, em todos os casos abaixo a intenção do rótulo é direta e também permitirá agrupar coisas que têm significado entre si fig:systeme eq:systemtêm o significado de sistema e um é um figura, a outra uma equação.

    • fig:para figuras
    • tbl:/ tabl:para mesas
    • eq:para equações
    • chap:/ chp:para capítulos
    • sec:para seções
  • Normalmente, ele pode ser analisado pelo seu editor para facilitar a pesquisa apenas de rótulos de figuras/tabelas/equações. No caso do emacs existe o RefTeX que facilita o sistema de referência cruzada. Vários outros editores também possuem tais instâncias de sistema de referência cruzada.

Responder2

Além das razões apresentadas por outros (inteligibilidade da fonte; aproveitamento dos recursos do editor, etc.), se você usar fancyref, poderá automatizar referências cruzadas mais descritivas. Isso torna mais fácil garantir que suas referências cruzadas sejam formatadas de forma consistente em todo o documento. O sistema pode ser adaptado para usar seus próprios prefixos e rótulos preferidos e pode ser estendido para cobrir referências cruzadas a outros elementos do seu documento. Ele pode lidar com referências simples e variáveis ​​e oferece comandos de referência de maiúsculas e minúsculas prontos para uso.

\documentclass{article}
\usepackage{fancyref}

\begin{document}

\section{A section}\label{sec:mysec}

\begin{figure}
  \centering \fbox{A figure}
  \caption{My figure}\label{fig:myfig}
\end{figure}

\Fref{sec:myothersec} will demonstrate that \fref{fig:myfig} is fantastic.

\section{Another section}\label{sec:myothersec}

\Fref{fig:myfig} showed whatever my figure showed in \fref{sec:mysec}.

\end{document}

demonstração extravagante

Responder3

Pessoalmente, nunca usei tal convenção (e o LaTeX não assume nenhuma estrutura para os rótulos). A string do rótulo é na verdade apenas um identificador interno opaco. Se você achar conveniente fornecer um prefixo comum para rótulos de objetos semelhantes, faça-o, mas certamente não é um requisito do sistema. Alguns pacotes e/ou editores podem tentar analisar a estrutura dos rótulos e procurar por fig:etc, mas provavelmente não deveriam.

Responder4

Atualmente estou escrevendo algunsnotas de aula para "Geometria e Topologia"(em alemão). Com esse projeto aprendi por que os namespaces para rótulos fazem sentido.

Evite rótulos duplos: tive problemas sem prefixos como fig:e sec:ou bsp:(por exemplo) ou thm:, por causa de rótulos duplos. Muitas vezes, tenho uma figura que quero referenciar e um teorema. Namespaces resolvem esse problema muito bem.

Torne o código mais fácil de ler

Evite confusões: Às vezes, eu queria fazer referência a seções. Então eu tinha certeza de que a seção tinha um rótulo, por exemplo \label{lifting}. Mas, na verdade, esse rótulo foi escolhido para uma figura. Isso não teria acontecido quando eu tivesse prefixos. Com prefixos, o LaTeX produziria alguns ??e deixaria óbvio que cometi um erro.

Depois de ver a captura de tela acima, acho que há outra vantagem para você:

Preenchimento automático: Acho que na maioria das vezes você sabe se deseja fazer referência a uma figura, seção, tabela ou qualquer outra coisa. Dessa forma, você reduz bastante o número de elementos nos quais realmente precisa pensar. (A propósito, qual editor você usa? Eu ainda digito meu LaTeX com gEdit / pluma na maior parte do tempo... talvez você tenha uma alternativa melhor?)

Cleveref e Fancref: Existem algumas razões pelas quais você deve usar \usepackage{cleveref}(vejaresposta longa). Com isso, você pode fazer algo como

\usepackage[nameinlink]{cleveref}
 ...
 As you can see in \cref{sec:abc} ...

o que pode traduzir-se em

 As you can see in section 7

onde "seção 7" está vinculada. Além disso, você pode passar opções de idioma cleverefque podem facilitar a tradução.

Portanto, existem algumas razões importantes para usar sua própria convenção para namespaces de rótulos.

Colaboraçãoé a única razão para usar um "esquema de namespace bem conhecido", como fig:para figuras e sec:seções.

No entanto, o LaTeX não se preocupa com namespaces de rótulos. Eles são apenas uma parte do nome da gravadora.

informação relacionada