Я пытаюсь использовать sphinxcontrib.bibtex , чтобы включить цитаты / ссылки в некоторую документацию.Он говорит, что вы можете установить стиль с помощью:
.. bibliography: refs.bib
:style: plain
И он поставляется со следующими стилями: alpha
, plain
, которые создают ссылочные метки, которые выглядят следующим образом:
alpha
: [ZieglerBenderSchreiber+14]
или [TMT14]
или [PCY+16a]
plain
: [1]
, [2]
, [3]
Я считаю, что alpha
является непоследовательным, но я думаю, что у правых чисел plain
отсутствует контекст.Чтобы настроить форматирование, он предоставляет следующий пример:
from pybtex.style.formatting.unsrt import Style as UnsrtStyle
from pybtex.style.template import toplevel # ... and anything else needed
from pybtex.plugin import register_plugin
class MyStyle(UnsrtStyle):
def format_XXX(self, e):
template = toplevel [
# etc.
]
return template.format_data(e)
register_plugin('pybtex.style.formatting', 'mystyle', MyStyle)
, с которым sphinx
терпит неудачу при:
sphinx-build -M html . out
Running Sphinx v1.8.3
Configuration error:
There is a syntax error in your configuration file: bad input (conf.py, line 92)
Did you change the syntax from 2.x to 3.x?
Кажется, что используется pybtex под капотом, такследуя примеру из этой документации:
from pybtex.style.formatting import BaseStyle
from pybtex.richtext import Text, Tag
class MyStyle(BaseStyle):
def format_article(self, entry):
return Text('Article ', Tag('em', entry.fields['title']))
from pybtex.plugin import register_plugin
register_plugin('pybtex.style.formatting', 'mystyle', MyStyle)
и sphinx завершается неудачно с:
Exception occurred:
File "/home/josh/codes/docs/conf.py", line 88, in format_article
return Text('Article ', Tag('em', entry.fields['title']))
AttributeError: 'dict' object has no attribute 'fields'
The full traceback has been saved in /tmp/sphinx-err-dftwlzvr.log, if you want to report the issue to the developers.
... и я думаю, что это просто настраивает текст записи библиографии, а не текст метки в любом случае,Как настроить текст метки?Я бы предпочел одно из следующего:
- только цифры в скобках (
[1]
), например plain
, но с надписями в верхнем индексе - что-то вроде
[ref.12]
, похожее на eq.12
или fig.12
- что-то вроде
alpha
, но с постоянным количеством символов