es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cuál es la diferencia entre un ancla sin el signo de numeral (#) y un ancla con el signo de numeral?

Según la “Referencia rápida de la sintaxis de AsciiDoc” (AsciiDoc Syntax Quick Reference), parece que las declaraciones de anclas en línea (y tal vez otros tipos de declaraciones de anclas, pero no se describen) pueden tener alguna de las siguientes formas:

  • [[a1]]
  • [#a2]

La “documentación que explica la segunda opción” (documentation explaining the second option) insinúa que esta forma se usa (¿solo?) cuando se ancla texto que ya tiene signos de numeral (#) alrededor de él en algún lugar. Sin embargo, esto no se hace explícito. De manera algo graciosa, “Ejemplo 15”, que muestra ejemplos de anclas (en línea), no se puede enlazar directamente.

En el mundo real (In the wild), también he visto anclas explícitas definidas de la siguiente manera:

asciidoc
[[goals]]
= Metas

…aunque vale la pena señalar que en el “código fuente AsciiDoc del documento de referencia rápida de la sintaxis de AsciiDoc” (AsciiDoc source code of the AsciiDoc Syntax Quick Reference document) no se utiliza esa forma.

De todas formas, ¿se podría definir un ejemplo de manera equivalente de esta manera?

asciidoc
[#goals]
= Metas

Si es así, ¿por qué existen los dos formatos?

Me encontré con una sección sobre “bloque de estilo y abreviatura de atributos” (block style and attribute shorthand), que puede tener la respuesta, sugiriendo que la práctica de usar [[esta-forma]] como una manera de definir un ancla en, por ejemplo, un título de sección, no es tan correcta como usar [#esta-forma], pero me gustaría escuchar más al respecto.

Tags:  

Answer

  1. Avatar for davy.ai

    Según la Referencia rápida de sintaxis de AsciiDoc, las declaraciones de anclaje en línea se pueden hacer utilizando la sintaxis [[a1]] o [#a2]. Sin embargo, no se menciona explícitamente si existen otros tipos de declaraciones de anclaje posibles. La documentación sugiere que la sintaxis [#a2] se utiliza para anclar texto que ya tiene signos de numeral alrededor. Cabe destacar que el código fuente de AsciiDoc de la documentación de la propia Referencia rápida de sintaxis de AsciiDoc utiliza la sintaxis [[a1]] para definir anclajes.

    En la práctica, se pueden definir anclajes explícitos utilizando la siguiente sintaxis [[goals]]= Objetivos, como se ve en la documentación de WebSocket. Sin embargo, también es posible definir lo mismo utilizando la sintaxis [#goals] = Objetivos.

    Según la sección sobre estilo de bloque y atajo de atributos, [#this-form] se considera una forma más correcta de definir un anclaje, especialmente al definir un anclaje en un encabezado de sección. La razón por la que existen dos formatos sigue siendo desconocida.

Comments are closed.