I am using biblatex and I created my own citation to display some data from a bibliography entry in the way that I need. So far it works fine. However, the command \printfield{<key>}
returns formatted text.
Is there a way that I get the non-formatted text of the bibliography entry so I can format it as I want?
In the example below, my citation prints the volume, the number and the doi of a given bibliography entry. But for the two elements, I get different formats (the two bibliographic entries have the same data but different type). For example (see the attached image) one prints Volume: vol. 18
while the other print Volume: 18
, or the \printfield{doi}
command appends DOI
at the beginning of the number.
Here is my MWE:
\begin{filecontents}{bibfile.bib}
@Article{s18041198,
AUTHOR = {Olatinwo, Segun O. and Joubert, Trudi-H.},
TITLE = {Optimizing the Energy and Throughput of a Water-Quality Monitoring System},
JOURNAL = {Sensors},
VOLUME = {18},
YEAR = {2018},
NUMBER = {4},
URL = {http://www.mdpi.com/1424-8220/18/4/1198},
ISSN = {1424-8220},
DOI = {10.3390/s18041198}
}
@inproceedings{s18041197,
AUTHOR = {Olatinwo, Segun O. and Joubert, Trudi-H.},
TITLE = {Optimizing the Energy and Throughput of a Water-Quality Monitoring System},
JOURNAL = {Sensors},
VOLUME = {18},
YEAR = {2018},
NUMBER = {4},
URL = {http://www.mdpi.com/1424-8220/18/4/1198},
ISSN = {1424-8220},
DOI = {10.3390/s18041198}
}
\end{filecontents}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{biblatex}
\addbibresource{bibfile.bib}
\DeclareCiteCommand{\mycyte}
{}{
Volume: \printfield{volume} \\
Number: \printfield{number} \\
DOI: \printfield{doi}
}
{}
{}
\begin{document}
\begin{itemize}
\item \mycyte{s18041198}
\item \mycyte{s18041197}
\end{itemize}
\printbibliography
\end{document}
Best Answer
You can use
\thefield{...}
to access the raw data of a field. A similar command for name lists and literal lists does not exist.You could use
\printfield[noformat]{<field>}
to print a field without additional formatting. But I think what you really want is