# Can I patch bibunits \putbib so that I can generate separate groups of references?

I would like to find out whether it is at all possible to patch bibunits to mimic bibtopic functionality (i.e. multiple and filterable bibliography commands)

I think there might be a way to duplicate \putbib if I can apply a filter on

\def\bu@bibdata{\jobname}
\AtBeginDocument{%
\iflabelstoglobalaux
\else
\let\orig@bibliography\bibliography
\def\bibliography#1{%
\if@filesw
\immediate\openout\@bibunitaux bu.aux
\immediate\write\@mainaux{\string\@input{bu.aux}}%
\fi
\orig@bibliography{#1}%
\if@filesw
\immediate\closeout\@bibunitaux
\fi
}%
\fi
\let\std@bibliography\bibliography
}


The reason this is so complex/difficult to solve is the the large sweeping document structure:

• In the preface of the document, there is a list of publications (this used to be a bibunit, but now it has to be broken into journal papers and abstracts) so bibunit so this requirement is why I started looking into bibtopics, but I have also opened a parallel question here (Can I patch bibunits \putbib so that I can generate seperate groups of references?) incase it is more practical to reprogram \putbib.
• The first part is its own IEEE bibunit (chapter level bibliography).
• The second part is it's own IEEE bibunit (section level bibliography - chapter free part).
• Part three has two bibunits (one per each chapter) and the second bibunit requires a custom citation style and bst file that I wrote myself by merging nature and IEEE bst files. It is this uniquely styled and presented chapter that prevents me from using biblatex and refsections.
• The last part has it's own bibunit (chapter level)

I can't use the structure below because it won't allow me to use IEEE ordering, it can't by definition.

I have read through the package documentation and I would hope that I could redefine a new command based on putbib to work with restrictions, similar to maybe splitbib (which is incompatible with bibunits).

\documentclass{article}
\usepackage{bibtopic}

\usepackage[numbers,square,comma,sort&compress,nonamebreak]{natbib}

\begin{document}

\begin{btUnit}
\section{Testing}
Let’s cite all the journal papers \cite{A, B}; and abstracts: \cite{C, D}.
\citet{A}
\begin{btSect}[IEEEtranNSB]{Journals}
\section*{References from journals}
\btPrintCited
\end{btSect}

\begin{btSect}{Abstracts}
\section*{Abstracts from conferences}
\btPrintCited
\end{btSect}

\end{btUnit}

\begin{btUnit}
\section{2 test}
Let’s cite all the journal papers \cite{A, B}; and abstracts:   \cite{C, D}.

\begin{btSect}[IEEEtranNSB]{Journals,Abstracts,CombinedBibFile}
\section*{All references}
\btPrintCited
\end{btSect}
\end{btUnit}

\end{document}

• Again, Biblatex/Biber would make this much easier... refsection, refsegment, filters to sort by keyword, by category, by type, customised and combined bibliography filters.... – cfr Jul 21 '15 at 2:56
• @cfr The only thing holding me back is mixing bibliography citation styles. Customized versions of IEEE and nature mixed with IEEE. Can't seem to determine whether I can set this at the refsection level and if I will be able to customize the bibliography grammar with biblatex. I have been using bibunits so far because each bibunit can be passed in [] a bst file. – EngBIRD Jul 21 '15 at 2:58