Skip to content

Commit 0e34435

Browse files
authored
Merge branch 'main' into jabkit-extract-references-docs
2 parents 2644e0b + e9f97c1 commit 0e34435

15 files changed

Lines changed: 3329 additions & 28 deletions

File tree

.github/workflows/lint.yaml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
pull_request:
77
workflow_dispatch:
88
jobs:
9-
lint:
9+
markdown-lint:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Set up Git repository
@@ -19,3 +19,31 @@ jobs:
1919
globs: |
2020
**/*.md
2121
#node_modules
22+
textlint:
23+
runs-on: ubuntu-latest
24+
continue-on-error: true
25+
steps:
26+
- name: Set up Git repository
27+
uses: actions/checkout@v4
28+
with:
29+
show-progress: ''
30+
- name: Set up Node.js
31+
uses: actions/setup-node@v4
32+
with:
33+
node-version: 22
34+
- name: Install dependencies
35+
run: npm ci
36+
- name: textlint
37+
run: npm run textlint
38+
vale-lint:
39+
runs-on: ubuntu-latest
40+
continue-on-error: true
41+
steps:
42+
- name: Set up Git repository
43+
uses: actions/checkout@v4
44+
with:
45+
show-progress: ''
46+
- name: vale
47+
uses: vale-cli/vale-action@v2
48+
with:
49+
fail_on_error: false

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
_site/
22
.idea/
3+
.github/styles/
34
!/.editorconfig
45
!/.git*
56
!/.travis.yml

.textlintrc.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"rules": {
3+
"common-misspellings": true
4+
}
5+
}

.vale.ini

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
StylesPath = .github/styles
2+
MinAlertLevel = suggestion
3+
4+
Packages = write-good
5+
6+
[*.md]
7+
BasedOnStyles = write-good
8+
# E-Prime (flagging every "is"/"are"/"be") is too strict for technical docs.
9+
write-good.E-Prime = NO

en/advanced/journalabbreviations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Journal name conversion can be accessed either from within the entry editor, or
2323

2424
If the current journal name is not found in your journal lists, the field will not be modified.
2525

26-
To convert the journal names of many entries in bulk, you can select any number of entries, and choose **Quality → Abbreviate journal namesDEFAULT**, **Quality → Abbreviate journal names → MEDLINE**, **Quality → Abbreviate journal names → SHORTEST UNIQUE**, or **Quality → Unabbreviate journal names**. These three actions will abbreviate and unabbreviate the journal names of all selected entries for which the journal name could be found in your journal lists.
26+
To convert the journal names of many entries in bulk, you can select any number of entries and go to **Quality → Clean up entriesJournal-related → Manage journal abbreviations**. From the dropdown menu, choose an action: **Abbreviate (default)**, **Abbreviate (dotless)**, **Abbreviate (shortest unique)**, **Unabbreviate** or **No changes**. These actions will abbreviate or unabbreviate the journal names of all selected entries for which the journal name could be found in your journal lists.
2727

2828
## Setting up additional journal lists
2929

en/ai/ai-providers-and-api-keys.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ You can find more information about providers in the [`langchain4j` documentatio
1818

1919
We cannot give a clear recommendation. Providers change their service and their prices regularly and our documentation page is too static to keep up with daily changes. It is recommended to look up LLM benchmarks on the internet or to use the trial and error method. To date, remote AI providers like OpenAI, Google, Mistral and others offer state of the art quality.
2020

21-
If you want to [run a model locally](local-llm.md), you can choose Ollama or make use of the OpenAI API. In comparison to remote AI providers, open weight local models that are compatible with average consumer devices offer less capabilities. There are state of the art local models available, but they are very large (in terms of number of parameters) and the higher the number of parameters, the more memory is needed. To run the largest models, very expensive and capable hardware is required. That said, even small models can be sufficient for the [add entry using refrence text](../collect/newentryfromplaintext.md) workflow.
21+
If you want to [run a model locally](local-llm.md), you can choose Ollama or make use of the OpenAI API. In comparison to remote AI providers, open weight local models that are compatible with average consumer devices offer less capabilities. There are state of the art local models available, but they are very large (in terms of number of parameters) and the higher the number of parameters, the more memory is needed. To run the largest models, very expensive and capable hardware is required. That said, even small models can be sufficient for the [add entry using reference text](../collect/newentryfromplaintext.md) workflow.
2222

2323
## Why do I need an API key?
2424

en/collaborative-work/export/customexports.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ You can also specify multiple formatters separated by commas. These will be call
5050

5151
will cause the formatter **ToLowerCase** to be called first, and then **HTMLChars** will be called to format the result. You can list an arbitrary number of formatters in this way.
5252

53-
The argument to the formatters, withing the curly braces, does not have to be a field command. Instead, you can insert normal text, which will then be passed to the formatters instead of the contents of any field. This can be useful for some fomatters, e.g. the CurrentDate formatter (described below).
53+
The argument to the formatters, within the curly braces, does not have to be a field command. Instead, you can insert normal text, which will then be passed to the formatters instead of the contents of any field. This can be useful for some formatters, e.g. the CurrentDate formatter (described below).
5454

5555
Some formatters take an extra argument, given in parentheses immediately after the formatter name. The argument can be enclosed in quotes, which is necessary if it includes the parenthesis characters. For instance, `\format[Replace("\s,_")]{\journal}` calls the **Replace** formatter with the argument **\s,\_** (which results in the "journal" field after replacing all whitespace by underscores).
5656

en/collect/add-entry-using-an-id.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ ID search is carried out using the [Library of Congress Control Number](https://
7676

7777
[MathSciNet](http://www.ams.org/mathscinet/) is a searchable online bibliographic database. It contains all of the contents of the journal Mathematical Reviews (MR) since 1940 along with an extensive author database, links to other MR entries, citations, full journal entries, and links to original articles. It contains almost 3 million items and over 1.7 million links to original articles ([Wikipedia](https://en.wikipedia.org/wiki/MathSciNet)).
7878

79-
ID search is carried out using the MR number.
79+
ID search is carried out using the MR number, e.g. `MR3300361`.
8080

8181
### Medline/Pubmed
8282

en/collect/import-using-online-bibliographic-database.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ If you need to use an HTTP proxy server, you can configure JabRef to use a proxy
2020

2121
## Search Syntax
2222

23-
Since version [5.2](https://github.com/JabRef/jabref/blob/main/CHANGELOG.md#52--2020-12-24):
23+
Since version [6.0](https://github.com/JabRef/jabref/blob/main/CHANGELOG.md#unreleased):
2424

2525
JabRef searches the catalogs by using the specified keywords. One can use quotes (`"`) to keep words togehter: An example is `"process mining"`. It is also possible to restrict the search to dedicated fields:
2626

@@ -39,11 +39,11 @@ One can usually combine different searches using the Boolean operators `AND` and
3939

4040
### Examples
4141

42-
* `author:smith and author:jones`: search for references with authors "smith" and "jones"
43-
* `author:smith or author:jones`: search for references with either author "smith" or author "jones"
44-
* `author:smith and not title:processor`: search for author "smith" and omit references with "processor" in the title
42+
* `author=smith and author=jones`: search for references with authors "smith" and "jones"
43+
* `author=smith or author=jones`: search for references with either author "smith" or author "jones"
44+
* `author=smith and not title=processor`: search for author "smith" and omit references with "processor" in the title
4545

46-
Technial note: The search syntax is adapted from [Apache Lucene](https://lucene.apache.org/core/2\_9\_4/queryparsersyntax.html). JabRef takes the Lucene syntax and transforms it to the syntax required by the supported catalogs.
46+
Technical note: The web search syntax currently uses the same syntax as the [local search functionality](../finding-sorting-and-cleaning-entries/search.md) in JabRef. The terms are then transformed into the required format for the specific APIs used in the background.
4747

4848
## Supported catalogs
4949

@@ -158,8 +158,8 @@ Year ranges are not supported. In case a year range is provided, it is ignored.
158158
#### Sample queries
159159

160160
* `marx kapital`
161-
* `author:grodke and title:db2`
162-
* `author:"Maas,jan?"`
161+
* `author=grodke and title=db2`
162+
* `author="Maas,jan?"`
163163

164164
### IEEEXplore
165165

@@ -192,7 +192,7 @@ Currently disabled because of traffic limit
192192

193193
[Jstor](https://jstor.org) is an online catalog with access to more than 12 million journal articles, books, and sources in 75 disciplines. [About](https://about.jstor.org)
194194

195-
It is possible to limit the search by adding a field name to the search, such as `field:"text"`. The supported fields are:
195+
It is possible to limit the search by adding a field name to the search, such as `field="text"`. The supported fields are:
196196

197197
* `title`: The title of the article
198198
* `author`: an author of the article
@@ -203,6 +203,8 @@ It is possible to limit the search by adding a field name to the search, such as
203203

204204
[MathSciNet](https://www.ams.org/mathscinet/) is a searchable online bibliographic catalog. It contains all of the contents of the journal Mathematical Reviews (MR) since 1940 along with an extensive author catalog, links to other MR entries, citations, full journal entries, and links to original articles. It contains almost 3 million items and over 1.7 million links to original articles ([Wikipedia](https://en.wikipedia.org/wiki/MathSciNet)).
205205

206+
You can also search directly using the MR number, e.g. `MR3300361`.
207+
206208
### Medline/PubMed
207209

208210
[MEDLINE](https://www.nlm.nih.gov/bsd/pmresources.html) is a bibliographic catalog of life sciences and biomedical information. It includes bibliographic information for articles from academic journals covering medicine, nursing, pharmacy, dentistry, veterinary medicine, and health care. MEDLINE also covers much of the literature in biology and biochemistry, as well as fields such as molecular evolution ([Wikipedia](https://en.wikipedia.org/wiki/MEDLINE)).
@@ -270,14 +272,14 @@ You cannot use the same query syntax as in the one-line search at zbmath.org; yo
270272
#### Examples
271273

272274
* \`\`[`algebra*`](https://zbmath.org/?q=algebra\*): Searches for publications containing a term starting with algebra (e.g. algebra, algebras, algebraic, etc.) in any field.
273-
* [`title:"Graph Theory"`](https://zbmath.org/?q=ti%3A+%E2%80%9CGraph+Theory%E2%80%9D): Searches for publications with the exact phrase _Graph Theory_ in their `title` field.
274-
* [`an:0492.90056`](https://zbmath.org/?q=an%3A0492.90056): Searches for the document with zbl number _0492.90056_.
275-
* [`author:Berge and title:"Graph Theory"`](https://zbmath.org/?q=au%3A+Berge+%26+ti%3A+%E2%80%9CGraph+Theory%E2%80%9D): Searches for entries written by _Berge_ with `Graph Theory` in their **title** field.
276-
* [`dt:b author:Berge`](https://zbmath.org/?q=dt%3A+b+au%3A+Berge): Searches for all books written by Berge.
277-
* [`title:"Graph Theory" yearrange:2010-2020`](https://zbmath.org/?q=ti%3A+%E2%80%9CGraph+Theory%E2%80%9D+py%3A+2010-2020): Searches for documents containing the exact phrase `Graph Theory` in their **title** that are published between _2010_ and _2020_.
278-
* [`so:Combinatorica`](https://zbmath.org/?q=so%3A+Combinatorica): Searches for documents published in the journal `Combinatorica`.
279-
* [`cc:"(05C|90C)"`](https://zbmath.org/?q=cc%3A+%2805C%7C90C%29): Searches for documents with **MSC code** in `05C` or `90C`.
280-
* [`la:"es | pt"`](https://zbmath.org/?q=la%3A+es+%7C+pt): Searches for documents written in Spanish or Portuguese.
281-
* [`sw:python`](https://zbmath.org/?q=sw%3Apython): Searches for publications using the **software** `python`.
282-
* [`en:arXiv`](https://zbmath.org/?q=en%3AarXiv): Searches for entries with a link to an `arXiv` preprint.
283-
* [`br:"Claude Berge"`](https://zbmath.org/?q=br%3AClaude+Berge): Searches for publications with biographical information on `Claude Berge`.
275+
* [`title="Graph Theory"`](https://zbmath.org/?q=ti%3A+%E2%80%9CGraph+Theory%E2%80%9D): Searches for publications with the exact phrase _Graph Theory_ in their `title` field.
276+
* [`an=0492.90056`](https://zbmath.org/?q=an%3A0492.90056): Searches for the document with zbl number _0492.90056_.
277+
* [`author=Berge and title="Graph Theory"`](https://zbmath.org/?q=au%3A+Berge+%26+ti%3A+%E2%80%9CGraph+Theory%E2%80%9D): Searches for entries written by _Berge_ with `Graph Theory` in their **title** field.
278+
* [`dt=b author=Berge`](https://zbmath.org/?q=dt%3A+b+au%3A+Berge): Searches for all books written by Berge.
279+
* [`title="Graph Theory" yearrange=2010-2020`](https://zbmath.org/?q=ti%3A+%E2%80%9CGraph+Theory%E2%80%9D+py%3A+2010-2020): Searches for documents containing the exact phrase `Graph Theory` in their **title** that are published between _2010_ and _2020_.
280+
* [`so=Combinatorica`](https://zbmath.org/?q=so%3A+Combinatorica): Searches for documents published in the journal `Combinatorica`.
281+
* [`cc="(05C|90C)"`](https://zbmath.org/?q=cc%3A+%2805C%7C90C%29): Searches for documents with **MSC code** in `05C` or `90C`.
282+
* [`la="es | pt"`](https://zbmath.org/?q=la%3A+es+%7C+pt): Searches for documents written in Spanish or Portuguese.
283+
* [`sw=python`](https://zbmath.org/?q=sw%3Apython): Searches for publications using the **software** `python`.
284+
* [`en=arXiv`](https://zbmath.org/?q=en%3AarXiv): Searches for entries with a link to an `arXiv` preprint.
285+
* [`br="Claude Berge"`](https://zbmath.org/?q=br%3AClaude+Berge): Searches for publications with biographical information on `Claude Berge`.

en/collect/newentryfromplaintext.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ O. Kopp, A. Armbruster, und O. Zimmermann, "Markdown Architectural Decision Reco
3333

3434
### Rule-based
3535

36-
This is the default parser. It does not require any extensive setups, nor does it send data to remote services. Any conversions are executed locally on your device. The rule-based parser also is deterministic, as the rules are hard-coded. Unfortunately, at time of writing, the rule-based parser is far from perfect. As one can see in the example above, the number "10" was wrongly interpreted as a page number, which is clearly not the intended result. The underlying rules are insufficient to account for all possibilities that bibliographic metadata may contain and ideally would require a way more fine-grained, but an ever more complex rule-set. It is recommended to use the rule-based parser as a last-resort, when the Grobid or LLM based parsers are not available or not desireable.
36+
This is the default parser. It does not require any extensive setups, nor does it send data to remote services. Any conversions are executed locally on your device. The rule-based parser also is deterministic, as the rules are hard-coded. Unfortunately, at time of writing, the rule-based parser is far from perfect. As one can see in the example above, the number "10" was wrongly interpreted as a page number, which is clearly not the intended result. The underlying rules are insufficient to account for all possibilities that bibliographic metadata may contain and ideally would require a way more fine-grained, but an ever more complex rule-set. It is recommended to use the rule-based parser as a last-resort, when the Grobid or LLM based parsers are not available or not desirable.
3737

3838
### Grobid
3939

0 commit comments

Comments
 (0)