Метка-заполнитель — маркировка без объекта

Метка-заполнитель — маркировка без объекта

Для постера и презентации, из-за небольшого размера документа, я хочу избежать записи информации о публикациях в громоздком файле bibtex, а вместо этого ссылаться на все непосредственно в документе. Например, в конце я хочу создать ручную библиографию:

  • papername1 label1 description1(в документе указаны только название и описание)

  • papername2 label2 description2...

Затем в тексте я хочу ссылаться на метки по имени, что можно сделать, например, \nameref{label1}и papername1должно быть показано .

На данный момент я прибегаю к простому набору текста без метки и ссылаюсь на него, просто прописывая его papernameвручную.

Было бы здорово узнать, работает ли это с меткой, не заглядывая в файл BibTeX. Было бы неплохо узнать какое-то решение без BibTeX (или хотя бы только автоматически сгенерированный файл BibTeX без большого набора текста) и без необходимости прописывать переменные в соглашении BibTeX для определенного типа документа (например, статья, книга и т. д.).

решение1

Если вы готовы использовать какой-либо предопределенный интерфейс, как представлено ниже, \paperdesc{<paper>}{<description>}для установки описаний бумаги, вы можете использовать его для автоматического обновления \@currentlabel(макрос, который содержит текущее значение метки). Обновление его до <paper>позволяет вам использовать \label- \refкак обычно, извлекая соответствующий <paper>.

введите описание изображения здесь

\documentclass{article}

%\usepackage{hyperref}

\makeatletter
\newcommand{\paperdesc}[2]{%
  \csname phantomsection\endcsname % If using hyperref
  \def\@currentlabel{#1}% Update the current label
  \textsc{#1}, % Print paper in Small Caps
  #2% Print paper description
}
\makeatother

\begin{document}

See~\ref{paper:first} and~\ref{paper:third}

\begin{itemize}
  \item \paperdesc{Paper 1}{Description of Paper 1} \label{paper:first}
  \item \paperdesc{Paper B}{Description of Paper B}
  \item \paperdesc{Paper III}{Description of Paper III} \label{paper:third}
\end{itemize}

\end{document}

Это решение может потребовать больше работы, если его использовать совместно с другими нестандартными классами документов или пакетами.

Связанный контент