目前我在序言中有:
\usepackage[
backend=biber,
style=authoryear,
isbn=false,
doi=false
]{biblatex}
我的图形代码如下:
\begin{figure}
\centering
\includegraphics[width=0.7\textwidth]{Ecore_kernel.pdf}
\caption{Kern-Elemente von Ecore}
\label{Ecore_kernel}
\small{(Eigene Darstellung in Anlehnung an \textcite[S. 124]{Steinberg2009})}
\end{figure}
它产生了一个没有错误的良好输出,但引用看起来像:
(Eigene Darstellung in Anlehnung an Steinberg u.a. (2009, S. 124))
我需要在外括号内使用方括号,而不是圆括号,例如:
(Eigene Darstellung in Anlehnung an Steinberg u.a. [2009, S. 124])
我搜索了类似的问题,只发现此解决方案我觉得对于这个简单的任务来说有点太多了。我还读了biblatex 文档它没有提供有关此任务的信息\textcite{}
。
我想到了一个解决方案,\textcite[brackets][][S. 124]{Steinberg2009}
如果可能的话。
我希望你有一个好的解决方案:)
答案1
您可以利用 的biblatex
括号嵌套功能。
biblatex
可以跟踪嵌套级别,并根据级别自动选择正确的括号形式((...)
或)。(括号的最大嵌套级别也是可以更改的,默认值为三。)[...]
maxparens
最简单的方法是使用biblatex
带有括号跟踪的命令之一,将文字括号替换(...)
为\parentext{...}
(\或mkbibparens{...}
)。例如
{\small \parentext{Eigene Darstellung in Anlehnung an \textcite[124]{Steinberg2009}}}
由于\parentext
是通过 定义的\newrobustcmd*{\parentext}{\mkbibparens}
,因此biblatex.sty
您也可以使用\mkbibparens
而不是\parentext
,后者只是前者的别名。
这可能是一个有趣的争论,哪个命令更受欢迎。\parentext
列在§3.7.5文本命令这些文本命令“[...] 旨在用于文本流”(第 89 页biblatex
文档)。 While\mkbibparens
是一个“将其参数括在括号中的通用命令”(第 225 页),并在 §4.10.4 中列出辅助命令和钩子。
您还可以定义命令来手动跟踪括号
\makeatletter
\newcommand{\openpar}{%
\global\advance\blx@parenlevel\@ne
\global\advance\c@parenlevel\@ne}
\newcommand{\closepar}{%
\global\advance\blx@parenlevel\m@ne
\global\advance\c@parenlevel\m@ne}
\makeatother
\openpar
在手动插入之前或之后使用(
会告诉biblatex
您打开了一个括号,然后在之后)
您可以通过为跟踪器关闭它\closepar
。例如
(\openpar\textcite{geer})\closepar
由于这似乎需要记住很多内容并使用两个命令,因此另一种方法似乎更可取。