Tengo un documento LaTeX simple que tiene algunas referencias BibTeX:
\documentclass[12pt]{article}
\begin{document}
\section{First section}
This document is an example of \texttt{thebibliography} environment using
in bibliography management. Three items are cited: \textit{The \LaTeX\ Companion}
book \cite{latexcompanion}, the Einstein journal paper \cite{einstein}, and the
Donald Knuth's website \cite{knuthwebsite}. The \LaTeX\ related items are
\cite{latexcompanion,knuthwebsite}.
\medskip
\bibliographystyle{unsrt}
\bibliography{sample}
\end{document}
El resultado de esto es el siguiente.
Me gustaría cambiar la numeración de la referencia en el texto y en la sección de Referencias con algún conjunto de números específicos de mi elección. ¿Cómo puedo hacer esto?
Digamos que me gustaría tener algo como esto:
1 Primera sección
Este documento es un ejemplo del entorno bibliográfico utilizado en la gestión de bibliografía. Se citan tres artículos: el libro LATEX Companion [11], el artículo de la revista Einstein [22] y el sitio web de Donald Knuth [33]. Los elementos relacionados con LATEX son [11, 33].
Referencias
[11] Michel Goossens, Frank Mittelbach y Alexander Samarin. El compañero de LATEX. Addison-Wesley, Reading, Massachusetts, 1993.
[22] Albert Einstein. Zur Elektrodynamik bewegter Korper. (Alemán) [Sobre la electrodinámica de los cuerpos en movimiento]. Annalen der Physik, 322(10):891{921, 1905.
[33] Donald Knuth. Knuth: Computadoras y tipografía.
¿Puedo hacer esto con LaTeX y BibTeX?
Respuesta1
Primero puedes preparar tu bibliografía de la forma habitual. Luego puede configurar los números que prefiera de la forma que se muestra a continuación, agregando el código entre %%START
y %%END
.
El filecontents
entorno se utiliza sólo para el ejemplo, utilice su propia base de datos.
\begin{filecontents}{\jobname.bib}
@book{Knuth1984texbook,
Author = {Knuth, D.E.},
Title = {The \TeX book, volume A of Computers and typesetting},
Publisher = {Addison-Wesley},
Year = {1984},
}
@book{Chomsky1957,
Address = {The Hague},
Author = {Noam Chomsky},
Publisher = {Mouton},
Title = {Syntactic Structures},
Year = {1957},
}
@book{Chomsky1965,
Address = {Cambridge Mass.},
Author = {Noam Chomsky},
Publisher = {MIT Press},
Title = {Aspects of the Theory of Syntax},
Year = {1965},
}
\end{filecontents}
\documentclass{article}
\usepackage{xpatch} % also loads expl3
%%START
\makeatletter
\xpatchcmd{\@bibitem}
{\item}
{\item[\@biblabel{\changekey{#1}}]}
{}{}
\xpatchcmd{\@bibitem}
{\the\value{\@listctr}}
{\changekey{#1}}
{}{}
\makeatother
\ExplSyntaxOn
\cs_new:Npn \changekey #1
{
\str_case:nVF {#1} \g_changekey_list_tl { ?? }
}
\cs_new_protected:Npn \setchangekey #1 #2
{
\tl_gput_right:Nn \g_changekey_list_tl { {#1}{#2} }
}
\tl_new:N \g_changekey_list_tl
\cs_generate_variant:Nn \str_case:nnF { nV }
\ExplSyntaxOff
\setchangekey{Knuth1984texbook}{9}
\setchangekey{Chomsky1957}{3}
\setchangekey{Chomsky1965}{7}
%%END
\begin{document}
\section{First section}
This document is an example of \texttt{thebibliography} environment using
bibliography management. Three items are cited: \emph{Syntactic Structures}
book \cite{Chomsky1957}, \emph{Aspects} \cite{Chomsky1965}, and
Donald Knuth's \TeX book \cite{Knuth1984texbook}.
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}
Usé los mismos datos que Alan Munn solo por pereza.
Respuesta2
Aquí hay una versión de la solución que sugerí para comenzar. Dado el uso limitado de esto, probablemente no valga la pena hacer que la solución sea más sofisticada. La sintaxis básica de una referencia es:
\mycite{<number>}{<bib-key>}
Si desea hacer referencia a una cita ya utilizada (introducida con \mycite
), simplemente puede utilizar \ref{<bib=key}
.
Luego introduce los elementos de la bibliografía real utilizando \mybib
para cada elemento. Estos aparecerán con el número que usaste en el \mycite
comando y aparecerán en el orden en que los ingresaste en el itemize
entorno.
\begin{filecontents}{\jobname.bib}
@book{Knuth1984texbook,
Author = {Knuth, D.E.},
Title = {The TEXbook, volume A of Computers and typesetting},
Year = {1984}}
@book{Chomsky1957,
Address = {The Hague},
Author = {Noam Chomsky},
Publisher = {Mouton},
Title = {Syntactic Structures},
Year = {1957}}
@book{Chomsky1965,
Address = {Cambridge Mass.},
Author = {Noam Chomsky},
Publisher = {{MIT} Press},
Title = {Aspects of the Theory of Syntax},
Year = {1965}}
\end{filecontents}
\documentclass[12pt]{article}
\usepackage{natbib}
\usepackage{calc}
\usepackage{etoolbox}
\usepackage{bibentry}
\usepackage{enumitem}
\SetLabelAlign{bibright}{\hss\llap{[#1]}}
\newcounter{mynum}
\newcommand\mycite[2]{[#1]\setcounter{mynum}{0}\addtocounter{mynum}{#1-1}\refstepcounter{mynum}\label{#2}}
\newcommand\mybib[1]{\item[\ref{#1}]\bibentry{#1}}
\begin{document}
\section{First section}
This document is an example of \texttt{thebibliography} environment using
bibliography management. Three items are cited: \emph{Syntactic Structures}
book \mycite{6}{Chomsky1957}, \emph{Aspects} \mycite{4}{Chomsky1965}, and
Donald Knuth's TeXBook \mycite{10}{Knuth1984texbook}. The Linguistics related items are
[\ref{Chomsky1965},\ref{Chomsky1957}].
\medskip
\bibliographystyle{unsrtnat}
\nobibliography{\jobname}
\begin{itemize}[labelwidth=!,labelsep=1em,align=bibright]
\mybib{Chomsky1957}
\mybib{Chomsky1965}
\mybib{Knuth1984texbook}
\end{itemize}
\end{document}
Respuesta3
Después de leer sus comentarios, creo que hay una manera mucho más fácil: existe el paquete nice xcite
, que le permitirá importar citas de su otro documento y no necesita preocuparse por los números (el siguiente ejemplo supone que el otro documento es llamado document.tex
):
\documentclass{article}
\usepackage{xcite}
\externalcitedocument{document}
\begin{document}
\cite{knuth}
\end{document}
Respuesta4
Dado que la pregunta es realmente sobre el uso de etiquetas personalizadas para las entradas de la base de datos bib, me gustaría agregar que existe una forma estándar de hacerlo con Biblatex. Simplemente use el campo de datostaquigrafía, que anulará la taquigrafía estándar solo para esa entrada en la base de datos. Puse algunas letras en el siguiente ejemplo de trabajo mínimo, pero por supuesto puedes poner números o lo que quieras.
\begin{filecontents}{thebib.bib}
@article{Boll,
author = {Boll, Grodan},
title = {Frogs now and then},
year = 1995,
journal = {Allers},
volume = 3,
shorthand = {FN\&T}
}
\end{filecontents}
\documentclass{article}
\usepackage{biblatex}
\addbibresource{thebib.bib}
\begin{document}
Frogs are common, see also \cite{Boll}.
\printbibliography
\end{document}