我正在使用 LyX(我没有用 LaTeX 写文档的经验)。我已经用 JabRef 准备了我的引文库,并将其导入 LyX。我需要将所有引文放在方括号中(在文本中),但当我尝试更改它时,没有选项将其设置为方括号(在引文菜单中)。所以它看起来像这样:
Fisher et al. 2014
但我需要这样:
[Fisher et al. 2014].
我发现这线程,但是当我将此代码添加到序言中时:
\makeatletter
\newrobustcmd*{\parentexttrack}[1]{%
\begingroup
\blx@blxinit
\blx@setsfcodes
\blx@bibopenparen#1\blx@bibcloseparen
\endgroup}
\AtEveryCite{%
\let\parentext=\parentexttrack%
\let\bibopenparen=\bibopenbracket%
\let\bibcloseparen=\bibclosebracket}
\makeatother
我的 lyx 文件可用这里
以下是一小段代码:
#LyX 2.3 created this file. For more info see http://www.lyx.org/
\lyxformat 544
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass scrbook
\begin_preamble
\makeatletter
\newrobustcmd*{\parentexttrack}[1]{%
\begingroup
\blx@blxinit
\blx@setsfcodes
\blx@bibopenparen#1\blx@bibcloseparen
\endgroup}
\AtEveryCite{%
\let\parentext=\parentexttrack%
\let\bibopenparen=\bibopenbracket%
\let\bibcloseparen=\bibclosebracket}
\makeatother
% increases link area for cross-references and autoname them
\AtBeginDocument{\renewcommand{\ref}[1]{\mbox{\autoref{#1}}}}
\addto\extrasenglish{%
\renewcommand*{\equationautorefname}[1]{}
\renewcommand{\sectionautorefname}{sec.\negthinspace}
\renewcommand{\subsectionautorefname}{sec.\negthinspace}
\renewcommand{\subsubsectionautorefname}{sec.\negthinspace}
\renewcommand{\figureautorefname}{Fig.\negthinspace}
\renewcommand{\tableautorefname}{Tab.\negthinspace}
}
% in case somebody want to have the label "Equation"
%\renewcommand{\eqref}[1]{Equation~(\negthinspace\autoref{#1})}
% that links to image floats jumps to the beginning
% of the float and not to its caption
\usepackage[figure]{hypcap}
%\usepackage[authoryear,square]{natbib}
% the pages of the TOC is numbered roman
% and a pdf-bookmark for the TOC is added
\let\myTOC\tableofcontents
\renewcommand\tableofcontents{%
\frontmatter
\pdfbookmark[1]{\contentsname}{}
\myTOC
\mainmatter }
% makes caption labels bold
\setkomafont{captionlabel}{\bfseries}
\setcapindent{1em}
% enables calculations
\usepackage{calc}
% fancy page header/footer settings
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
% increases the bottom float placement fraction
\renewcommand{\bottomfraction}{0.5}
% avoids that floats are placed above its sections
\let\mySection\section\renewcommand{\section}{\suppressfloats[t]\mySection}
\end_preamble
\options intoc,bibliography=totoc,index=totoc,BCOR10mm,captions=tableheading,titlepage
\use_default_options true
\begin_modules
customHeadersFooters
\end_modules
\maintain_unincluded_children false
\language czech
\language_package babel
\inputencoding utf8
\fontencoding global
\font_roman "lmodern" "default"
\font_sans "lmss" "default"
\font_typewriter "lmtt" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command bibtex
\index_command default
\float_placement h
\paperfontsize 12
\spacing single
\use_hyperref true
\pdf_title "Your title"
\pdf_author "Your name"
\pdf_bookmarks true
\pdf_bookmarksnumbered true
\pdf_bookmarksopen true
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder true
\pdf_colorlinks false
\pdf_backref false
\pdf_pdfusetitle false
\pdf_quoted_options "pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
\papersize a4paper
\use_geometry false
\use_package amsmath 2
\use_package amssymb 2
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine biblatex-natbib
\cite_engine_type authoryear
\biblio_style plainnat
\biblatex_bibstyle authoryear
\biblatex_citestyle authoryear
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 0
\use_minted 0
\branch NoChildDocument
\selected 0
\filename_suffix 0
\color #ff0000
\end_branch
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 2
\paragraph_separation skip
\defskip medskip
\is_math_indent 0
\math_numbering_side default
\quotes_style german
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle fancy
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Left Header
\begin_inset Argument 1
status open
\begin_layout Plain Layout
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
chaptername
\end_layout
\end_inset
\begin_inset space ~
\end_inset
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
thechapter
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
rightmark
\end_layout
\end_inset
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
Enable page headers and add the chapter to the header line.
\end_layout
\end_inset
\end_layout
\begin_layout Right Header
\begin_inset Argument 1
status open
\begin_layout Plain Layout
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
leftmark
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Left Footer
\begin_inset Argument 1
status open
\begin_layout Plain Layout
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
thepage
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Center Footer
\end_layout
\begin_layout Center Footer
\begin_inset Argument 1
status open
\begin_layout Plain Layout
\end_layout
\end_inset
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
thepage
\end_layout
\end_inset
\end_layout
\begin_layout Chapter
test test test
\end_layout
\begin_layout Standard
\begin_inset CommandInset citation
LatexCommand citealt
key "Fisher2014"
literal "false"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset citation
LatexCommand citealt
key "Fisher2017"
literal "false"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset citation
LatexCommand citealt
key "Hildebrand2013"
literal "false"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset citation
LatexCommand citealt
key "Khan2012"
literal "false"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset citation
LatexCommand cite
key "Scheffer2017,Engel2001,ILAE"
literal "false"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset bibtex
LatexCommand bibtex
btprint "btPrintCited"
bibfiles "citation_library_disertacka"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Branch NoChildDocument
inverted 0
status open
\begin_layout Standard
\begin_inset CommandInset bibtex
LatexCommand bibtex
btprint "btPrintCited"
bibfiles "citation_library_disertacka"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset nomencl_print
LatexCommand printnomenclature
set_width "custom"
width "2.5cm"
\end_inset
\end_layout
\end_inset
\end_layout
\end_body
\end_document
我将其导出为 LaTeX(通过 Lyx - 文件 - 导出 - LaTeX plain)
%% LyX 2.3.3 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[12pt,a4paper,oneside,czech,intoc,bibliography=totoc,index=totoc,BCOR10mm,captions=tableheading,titlepage]{scrbook}
\usepackage{lmodern}
\renewcommand{\sfdefault}{lmss}
\renewcommand{\ttdefault}{lmtt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\setcounter{secnumdepth}{3}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\PassOptionsToPackage{natbib=true}{biblatex}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[unicode=true,
bookmarks=true,bookmarksnumbered=true,bookmarksopen=true,bookmarksopenlevel=1,
breaklinks=false,pdfborder={0 0 0},pdfborderstyle={},backref=false,colorlinks=false]
{hyperref}
\hypersetup{pdftitle={Your title},
pdfauthor={Your name},
pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\special{papersize=\the\paperwidth,\the\paperheight}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\makeatletter
\newrobustcmd*{\parentexttrack}[1]{%
\begingroup
\blx@blxinit
\blx@setsfcodes
\blx@bibopenparen#1\blx@bibcloseparen
\endgroup}
\AtEveryCite{%
\let\parentext=\parentexttrack%
\let\bibopenparen=\bibopenbracket%
\let\bibcloseparen=\bibclosebracket}
\makeatother
% increases link area for cross-references and autoname them
\AtBeginDocument{\renewcommand{\ref}[1]{\mbox{\autoref{#1}}}}
\addto\extrasenglish{%
\renewcommand*{\equationautorefname}[1]{}
\renewcommand{\sectionautorefname}{sec.\negthinspace}
\renewcommand{\subsectionautorefname}{sec.\negthinspace}
\renewcommand{\subsubsectionautorefname}{sec.\negthinspace}
\renewcommand{\figureautorefname}{Fig.\negthinspace}
\renewcommand{\tableautorefname}{Tab.\negthinspace}
}
% in case somebody want to have the label "Equation"
%\renewcommand{\eqref}[1]{Equation~(\negthinspace\autoref{#1})}
% that links to image floats jumps to the beginning
% of the float and not to its caption
\usepackage[figure]{hypcap}
%\usepackage[authoryear,square]{natbib}
% the pages of the TOC is numbered roman
% and a pdf-bookmark for the TOC is added
\let\myTOC\tableofcontents
\renewcommand\tableofcontents{%
\frontmatter
\pdfbookmark[1]{\contentsname}{}
\myTOC
\mainmatter }
% makes caption labels bold
\setkomafont{captionlabel}{\bfseries}
\setcapindent{1em}
% enables calculations
\usepackage{calc}
% fancy page header/footer settings
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
% increases the bottom float placement fraction
\renewcommand{\bottomfraction}{0.5}
% avoids that floats are placed above its sections
\let\mySection\section\renewcommand{\section}{\suppressfloats[t]\mySection}
\makeatother
\usepackage[style=authoryear,backend=bibtex]{biblatex}
\addbibresource{citation_library_disertacka.bib}
\begin{document}
\lhead[\chaptername~\thechapter]{\rightmark}
\rhead[\leftmark]{}
\lfoot[\thepage]{}
\cfoot{}
\cfoot[]{\thepage}
\chapter{test test test}
\citealt{Fisher2014}
\citealt{Fisher2017}
\citealt{Hildebrand2013}
\citealt{Khan2012}
\citealt{Scheffer2017,Engel2001,ILAE}
\printbibliography
\end{document}
答案1
目前为止,最好的方法是使用包ext-authoryear
中的 style biblatex-ext
。ext-authoryear
是 style 的替代品authoryear
,具有额外的自定义功能。有关不使用 LyX 的类似示例,请参阅这里。
那么你的序言中只需要三行:
% load biblatex in preamble because LyX loads it after the preamble section
\usepackage[style=ext-authoryear]{biblatex}
% use square brackets for parencite
\DeclareOuterCiteDelims{parencite}{\bibopenbracket}{\bibclosebracket}
% use square brackets for date in textcite
\DeclareInnerCiteDelims{textcite}{\bibopenbracket}{\bibclosebracket}
唯一要注意的是,您biblatex
在序言设置中传递的选项与 LyX 中的参考书目文档选项相同,否则您将遇到选项冲突。
MWE LyX 文件变成:
#LyX 2.3 created this file. For more info see http://www.lyx.org/
\lyxformat 544
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass article
\begin_preamble
\usepackage[style=ext-authoryear]{biblatex}
\DeclareOuterCiteDelims{parencite}{\bibopenbracket}{\bibclosebracket}
\DeclareInnerCiteDelims{textcite}{\bibopenbracket}{\bibclosebracket}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine biblatex
\cite_engine_type authoryear
\biblatex_bibstyle ext-authoryear
\biblatex_citestyle ext-authoryear
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style english
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Standard
Filler text
\begin_inset CommandInset citation
LatexCommand autocite
key "baez/article"
literal "false"
\end_inset
.
\end_layout
\begin_layout Standard
\begin_inset CommandInset citation
LatexCommand citet
key "bertram"
literal "false"
\end_inset
says filler text.
\end_layout
\begin_layout Standard
\begin_inset CommandInset bibtex
LatexCommand bibtex
btprint "btPrintCited"
bibfiles "biblatex-examples"
\end_inset
\end_layout
\end_body
\end_document
从 LyX 导出的相应 LaTeX 文件是:
%% LyX 2.3.3 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage[style=ext-authoryear]{biblatex}
\DeclareOuterCiteDelims{parencite}{\bibopenbracket}{\bibclosebracket}
\DeclareInnerCiteDelims{textcite}{\bibopenbracket}{\bibclosebracket}
\makeatother
\usepackage[english]{babel}
\usepackage[style=ext-authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
Filler text \autocite{baez/article}.
\textcite{bertram} says filler text.
\printbibliography
\end{document}