Tag Info

New answers tagged

3

You don't need the shell escape, because you can do it from the shell. \RequirePackage{filecontents} \begin{filecontents}{bib/1.bib} @book{key1, title="title1", author="author1", year="2001"} \end{filecontents} \begin{filecontents}{bib/2.bib} @book{key2, title="title2", author="author2", year="2002"} \end{filecontents} ...


1

You can change the maxbibnames value and suppress the month field for articles like this: \documentclass[a4paper,12pt,BCOR13mm,twoside,openright,]{scrreprt} \usepackage[style=chem-acs,maxbibnames=99]{biblatex} \AtEveryBibitem{\ifentrytype{article}{\clearfield{month}}{}} \addbibresource{MWE.bib} \begin{document} This reference should not have a month ...


1

I will follow my answer to making citations bold latex, where we saw how to do this for alphabetic styles. For numeric the only thing that changes is the relevant field names, here they are prefixnumber and labelnumber (ordinarily, especially the latter one is important). To bold labels use \DeclareFieldFormat{prefixnumber}{\mkbibbold{#1}} ...


4

Unfortunately, as a guest I can't comment on the solution posted above. But I'd like to note that this solution will cause the 'mergedate=basic' option to stop working as expected. Using this instead: \DeclareFieldFormat{parens}{\mkbibparens{#1}} \renewbibmacro*{date}{% \iffieldundef{month} {} {\printtext[parens]{\printdate}}}% when using ...


2

I think that the best way to do this is to coordinate the publisher fields with 'and' and separately coordinate the location fields with 'and' in your .bib entry (i.e., the second option). For example, in the standard authoryear style, the location precedes the publisher and the two are separated by a colon. If you choose to eliminate the location field, ...


1

The \parencite command relies on the bibmacro cite, and we will have to patch that. As such \xpatchbibmacro{cite} {\setunit{\addcomma}% \usebibmacro{cite:extrayear}} {\setunit{\compcitedelim}\usebibmacro{cite:labelyear+extrayear}} {} {} Should suffice. If you want the same to apply to \citeyear, you will also need \xpatchbibmacro{citeyear} ...


2

I think that you need to redefine the delimiter used between related entries when the data is typeset as, by default, it is a line break. The macro provided by Biblatex for this is \relateddelim (page 223 of the current manual). Here, I redefine it to be a comma followed by a space: \RequirePackage{filecontents} \begin{filecontents}{\jobname.bib} @article ...


4

The authoryear and authortitle styles provide \cite* and \parencite* for that exact purpose. The verbose styles do not have such a command. You can use the \AtNextCite hook to disable the display of names in the next citation \makeatletter \newcommand{\int@suppauth}{% \def\ifciteibid{\@secondoftwo}% \renewbibmacro*{cite:name}{}% ...


2

I would use reprintof if the reprint is of the whole thing referenced e.g. an article reprinted in a collection or anthology, originally published in a journal. I would use reprintfrom if the reprint was of part of the original e.g. a chapter from a book reprinted as a standalone work.


1

The problem you are having is not directly related to biblatex, but to TeX's paragraph building system. So rather than do something to the citations themselves, it's really best to wait until the very final stages of your document and adjust individual paragraphs. One way to do this is to use the \sloppypar environment, which sets various factors that ...


1

A possible solution is to use the xpatch package to (locally, i.e., in a TeX group) patch the driver of the entry type (caveat, you have to know the entry type for the citation) to clear the author just before the citation. \xpretobibdriver{article}{\clearname{author}}{}{} So for the MWE in the OP (the command is local to the footnote) Some ...


0

The solution given in bibliography in scrbook solves the original problem posted here.


2

With authoryear-icomp we need to modify the bibmacro textcite to use the name format first-last instead of the labelname format, we can do this either by redefining the entire macro \makeatletter \renewbibmacro*{textcite}{% \iffieldequals{namehash}{\cbx@lasthash} {\iffieldundef{shorthand} ...


1

For compressed citation lists you can use the ...-comp styles. The biblatex standard styles numeric, authoryear and authortitle all offer a ...-comp version for compressed citations. The latter two also have ...-icomp versions that additionally replaces successive citations of the same work with ibidem. You want authoryear-comp. MWE ...


1

You could \setlength{\bibhang}{2\bibhang} if you're absolutely positive it's only half the desired value (or set it to the value itself \setlength{\bibhang}{<value>}). About your MWE: mla requires loading the ifpdf package and you should prefer addbibresource instead of bibliography with biblatex. Heres your MWE: \begin{filecontents}{\jobname.bib} ...


2

I think I've found; simply add this to your preamble: \bibhang=40pt Is thtat what you want?


2

At moewe's request, I'm posting this as an 'answer' although I don't really consider it one since it is so very far from elegant! Using penguinpreferred's suggestion and xparse, I come up with this: \NewDocumentCommand \pconnectcites { D() {quoting} o o m o o m }{% \parentext{% \IfNoValueTF{#3}{% \IfNoValueTF{#2}{% \cite{#4}% }{% ...


1

Maybe this local guide will do to English-reading people.


1

If you are using the backend biber you need to run biber instead of bibtex. Your code is working fine for me when I run pdflatex, then biber, and then pdflatex again: If I don't run biber after pdflatex I get the same output as you. Just in case biber was not set up: This guide is incredibly helpful (includes guides for many editors, among which also ...


0

Biblatex 3.0 (2015-04-20) introduces the concept of bibliography contexts for this. See section 3.6.11 of the manual. (For this reason the sorting option in \printbibliography has now been deprecated.)


1

Under your settings, the bibliography is printed as a \section, which naturally updates the header content using \markboth. You can set \markboth to gobble its arguments temporarily, which would therefore not affect the header: {\renewcommand{\markboth}[2]{}% Remove header adjustment \printbibliography} Here is your minimal example: ...


4

You can use the title-key to set a specific header: \printbibliography[title=Mein Titel] More complicated solutions are only needed if they should be able to adapt to more then one language or something similar..


1

Your first problem comes because you use \DeclareFieldFormat[thesis]{pages}{} To delete the pages field. This results in biblatex not printing the pages field, but thinking it did print the field, seriously messing up punctuation tracking, as you see. A better solution is to use \AtEveryBibitem{% \clearfield{note}% \ifentrytype{thesis} ...


3

One solution is to use a multicite approach and redefine the \multicitedelim appropriately following “And” between last and second last cite using the \footcites command and authoryear-icomp. \newcommand{\interp}[1]{% \renewcommand*{\multicitedelim}{% \ifnumequal{\value{multicitecount}}{\value{multicitetotal}} {\addcomma\space\printtext{#1}} ...


4

In your case the problem was using the 'Use a "build" subdirectory for output files option' of your editor. When Biber is invoked it looks for the .bcf file (in fact, Biber "compiles" the .bcf). But if the .bcf file has been moved to another subdirectory Biber is unaware of, Biber cannot find the file. For exactly this reason Biber has the --output-directory ...


2

You can use \textcite. And you need an author-year style: \documentclass{article} \usepackage[style=authoryear]{biblatex} \addbibresource{biblatex-examples.bib} \begin{document} \textcite{shore}, \cite{shore}, \parencite{shore} \end{document}


6

You can reset the url-Breaks in the bib-entry with the execute key: @Article{Zwaan2004, Title = {Moving words: Dynamic representations in language comprehension}, Author = {Zwaan, Rolf A. and Madden, Carol J. and Yaxley, Richard H. and Aveyard, Mark E.}, Date = {2004}, Journaltitle ...


1

The name of the field is booktitle not book. Check the biblatex documentation about the available field names. It contains a long and useful list.


2

The following should do what you want. We just need to tweak the macro byeditor+others a bit to include parentheses if necessary. Fortunately, \setunit and \printunit can be used to get this. \renewbibmacro*{byeditor+others}{% \setunit{\space(}% <---- this is new ... \ifnameundef{editor} {} {\usebibmacro{byeditor+othersstrg}% ...


5

Apart from urldate=long and dateabbrev=false option, you need some bibliography extras similar to those for australian language, but you needn't to strip leading zeroes from numbers. So, you can add the following lines to your preamble (code taken and modified from australian.lbx): \DefineBibliographyExtras{english}{% \protected\def\mkbibdatelong#1#2#3{% ...


2

The format of the urldate is controlled by the urldate options, for a long date, use the long option. The second option to set is whether abbreviations are used, i.e., dateabbrev=false. Finally, to achieve the British date format, one has to set language=british. With the above options, i.e.,: \usepackage[style=authoryear, maxcitenames = 2, ...


0

You can use the label field. The biblatex doc says that label is "[a] designation to be used by the citation style as a substitute for the regular label if any data required to generate the regular label is missing" (p. 20 of the biblatex documentation). Fortunately, with the alphabetic style the label is given precedence over the labelname, it is also used ...


1

Biber does not know the option --include-directory. If you use the TeX switch -output-directory or some kind of build folder option of your editor/IDE, you will need to tell Biber so using either of the --input-directory or --output-directory options. Biber's help explains the two thus --input-directory [directory] .bcf and data files will be looked ...


2

The problem is the comment, i.e. %, in the annote field. biber takes the argument of the field and produce a .bbl where the lines in the argument are joined in a single line. Thus we have something looking like ... \field{annotation}{% ...} \field{title}{title} This means that LaTeX does not see the closing bracket } of the value of annotation. The ...


7

The phdthesis type is an alias to the @thesis type, since biblatex uses @thesis as the entry with the type field to specify the kind of thesis. But the alias points to the actual type, and so can't be used in the DeclareFieldFormat command. So instead use: \DeclareFieldFormat[article,thesis]{title}{\mkbibemph{#1}} Also, it's better to use \emph or ...


2

When writing name macros, I think it always safer to take the standard definition (from biblatex.def) and apply one's modifications carefully. The standard definitions think of so many things I, for one, might not have considered. In this case here, name:last-first did not fare well with names only consisting of one component such as "Aristotle", "Plato", ...


2

We need to temporary influence \finalnamedelim here. The obvious solution is to have \AtNextCite{% \renewcommand{\finalnamedelim}{% \ifnum\value{liststop}>2 \finalandcomma \fi \addspace\&\space}} before the offending citation. Since this is quite long and looks odd in the document body you might want to define a new command ...


0

I don't think there is a fully automatic solution for this, but regex-Biber wizards might surprise me here. First of all, you need to input name list correctly. That is all names have to be separated by an and. Do not say author = {Cu Cumber, Annoying Orange and Peachy Pear},, correct is author = {Cu Cumber and Annoying Orange and Peachy Pear},. See How to ...


2

These regex trickeries can be quite complicated and the solution here might well have its drawbacks, but here goes ... \DeclareSourcemap{ \maps[datatype = bibtex]{ \map{ \step[fieldsource = author, match = \regexp{\A\[(.+)\s+([^\s]+)\]\Z}, replace = {[$2, $1]}] } \map{ \step[fieldsource = author, match = \regexp{(\w+)\[(.+?)\]}, ...


3

Maybe this does not directly address your question but as you are already using biblatex, biber might be an alternative to bibtool as outlined by this answer: http://tex.stackexchange.com/a/145168/84655 If test.tex is your latex document, just run biber test --output_format bibtex and you get a file called test_biber.bib with the entries referenced in ...


2

The way the citation is typeset in \blockquote and friends can be controlled with \mkcitation, see §8.7 Hooks for Quotations and Citations, p. 20 of the csquotes documentation. The default definition is \newcommand{\mkcitation}[1]{\space(#1)}, you will note the parentheses there. So we just need to make sure \mkcitation does not wrap the citation into ...


6

Only printing the number bibstring doesn't take the new numbers string in account. You must check if the field is either a single number or a numeral range and then print it accordingly. In a very simplified way, you can use: \DeclareFieldFormat[article]{number}{% \iffieldnum{number}{\bibstring{number}\addnbspace}% ...


5

The problem turns out to be a bug in the greek.lbx localization file. Instead of using its already defined \lbx@gr@mkbibmonth to format the date, it instead uses \mkbibmonth defined via \let\mkbibmonth\lbx@gr@mkbibmonth after first using \savecommand{\mkbibmonth}. Replacing the use of \mkbibmonth with \lbx@gr@mkbibmonth directly in the .lbx file solves the ...


0

Add in preamble: \DefineBibliographyStrings{english}{% dateapril = {April} } Now result is :


3

The autolang=hyphen option does what you want. Here's your example but I've made the margins deliberately large to show the hyphenation. Because of the very big margins this still results in some bad boxes, but this is to be expected. For comparison, the example without autolang=hyphen is given also. (I also corrected the month field to a numeric field, ...


11

To print a list of references that have not been cited you can create a check that filters out the cited one (you have to enable the citetracker feature, e.g., \usepackage[citetracker=true]{biblatex}). The check can be created as follows \defbibcheck{uncited}{ \ifciteseen {\skipentry} {} } and then put a \nocite{*} in the document, and use ...


2

It is important to end an entry properly. biblatex provides the macros finentry for exactly that purpose. The vertical space between entries can be set with \bibitemsep. \documentclass{article} \usepackage{biblatex} \begin{filecontents}{\jobname.bib} @Article{Ferdinandy2015, Title = {HIV competition dynamics over sexual ...


3

The only thing we are missing from language=auto and autolang=other is that they neglect to wrap the label in the bibliography into foreignlanguage or otherlanguage. That is easily fixed with the following definition \DeclareFieldFormat{labelalpha}{% \iffieldundef{langid} {#1} {\foreignlanguage{\thefield{langid}}{#1}}% } This does exactly what ...


2

This is rooted with how you output URLs in \DeclareFieldFormat{url} and \DeclareBibliographyDriver{online}. Effectively this means the last whitespace before a URL is a normal space and biblatex is much less reluctant to break at said space instead of breaking the URL. We can make the last space before the URL non-breaking forcing biblatex to break the URL ...


6

The language files are loaded the first time they are "needed". At the first compilation this is when the \cite commands are seen and so in the middle of the document. As \DefineBibliographyExtras is an "only preamble" command you get an error. At the next compilation the aux files calls the english language and so the language files are loaded earlier. ...



Top 50 recent answers are included