引用演示文稿中的特定幻灯片

引用演示文稿中的特定幻灯片

我遇到了以下问题,但根本找不到解决方案。

我正在做作业,我想引用教授给我们的幻灯片。因此,如果我输入“ \cite[20]{presentationOne}I want [1, F. 20]as result”而不是“ [1, S. 20].”(F. 代表 Folie,S. 代表 Seite,我来自德国)。

我也引用了书籍,因此简单地改变所有引用并不是解决方案。

我使用biblatexbiber 后端。

希望有人能找到一个干净的解决方案。否则我就得在前言中提到我引用这些引文的意思。

答案1

有不同的方法可以实现这一点:

  1. 你可以使用类似的东西\cite[F.~20]{reference}。只要可选参数不仅仅是一个数字,就会biblatex按字面意思输出它,而不是在它前面放一个分页字符串。¹
  2. 正如您在问题评论中提到的,您可以presentation为演示文稿定义一个单独的书目驱动程序。然后,您可以定义一个特定的后记样式\DeclareFieldFormat[presentation]{postnote}{F~#1}或类似的东西。这将是某种全局解决方案。
  3. .bib您可以为文件中的每个项目设置pagination = {page|column|line|verse|section|paragraph|none}字段。biblatex评估此字段并根据字段的值更改其后记的格式pagination

    3.1 您现在可以只设置分页字段,这样none就可以防止biblatex在数字前打印“p。”,但您仍然需要注意在正确的位置设置“F.~”。

    3.2 您可以滥用默认类型之一(columnverse)来满足您的需求。在这种情况下,您必须.bib为您的条目提供一个pagination = {verse}字段,并通过 重新定义相应的verse语言环境以满足您的需求\DefineBibliographyStrings{german}{verse = {Folie}, verses = {Folien}}

    3.3 我没有查看代码,biblatex但我认为可以复制并修改分页命令的代码,以将另一个值(类似于slide)添加到paginantion类型列表中。从长远来看,这将是解决问题最干净但也最具侵入性的方法。

––

¹ 这并非全部内容,因为还有类似\psq宣布“和以下页面”的命令。但与数字不同的所有内容和这些特殊命令都由 biblatex 打印出来,无需进一步处理。

答案2

扩展Benedikt Bauer 的精彩回答,定义自己的分页样式其实并不难(第 3.3 点)。

biblatexpagination以一种对我们来说非常方便的方式处理该字段:

pagination字段采用一个键,例如标准键pagecolumnlineversesection或。读取键并尝试将命名为键之后的页码之前;当然, 的情况除外,在这种情况下不会插入任何 bibstring paragraphnonebiblatexbibstringpaginationnone

因此,如果我们定义两个新的bibliography字符串slideslides,那么我们就可以pagination = {slide}.bib条目中指定,然后就可以了。

\NewBibliographyString{slide,slides}
\DefineBibliographyStrings{ngerman}{%
  slide   = {F\adddot},%{Folie}
  slides  = {F\adddot},%{Folien}
}
\DefineBibliographyStrings{english}{%
  slide   = {s\adddot},%{slide}
  slides  = {ss\adddot},%{slides}
}

不幸的是\DefineBibliographyStrings,可以在序言中使用的 不支持短 和长bibstrings;如果您想要这些,您将必须定义自己的.lbx文件,继承所有其他功能,但添加slideslides

\ProvidesFile{ngerman-slides.lbx}[2013/10/15 ngerman with slides]
\InheritBibliographyExtras{ngerman}
\NewBibliographyString{slide,slides}
\DeclareBibliographyStrings{%
  inherit   = {ngerman},
  slide     = {{Folie}{F\adddot}},
  slides    = {{Folien}{F\adddot}},
}

然后可以通过 加载该语言定义\DeclareLanguageMapping{ngerman}{ngerman-slides}

数学家协会

\documentclass[11pt]{scrartcl}
\begin{filecontents}{\jobname.bib}
@inbook{DahmenReusken:Interpolation,
  author          = {Wolfgang Dahmen and Arnold Reusken},
  title           = {Interpolation},
  chapter         = {8},
  booktitle       = {Numerik für Ingenieure und Naturwissenschaftler},
  booktitleaddon  = {Folien für Dozenten},
  date            = {2007-11-21},
  url             = {https://www.igpm.rwth-aachen.de/Download/DahmenReusken/Folien/Kapitel8.pdf},
  urldate         = {2013-08-11},
  pagination      = {slide},
}
\end{filecontents}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[babel]{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}

\NewBibliographyString{slide,slides}
\DefineBibliographyStrings{ngerman}{%
  slide   = {F\adddot},%{Folie}
  slides  = {F\adddot},%{Folien}
}
\DefineBibliographyStrings{english}{%
  slide   = {s\adddot},%{slide}
  slides  = {ss\adddot},%{slides}
}

\addbibresource{\jobname.bib}

\begin{document}
  \parencite[vgl.][4]{DahmenReusken:Interpolation}.
  \printbibliography
\end{document}

产量 在此处输入图片描述

相关内容