5

Edit: solved.

Solution: RTFM.

I.e. as Schoekling suggested, the manual states:

"Each user command has a name with a pattern :, e.g. user0:User Command 0. The command id has to be unique and must not contain spaces. In advanced mode, you can reference it using txs:///"<command id>. "


I'm using Mendeley to export .bib files, and am trying to run a shell script to remove the 'abstract' entries and running biber --tool --validate-model before running biber:

#!/bin/bash
biber --tool --configfile=bibtex_files/remabs.conf bibtex_files/examplebib.bib
biber --tool --validate-datamodel bibtex_files/examplebib_bibertool.bib

The command runs just fine from the shell and also in TeXstudio when using Tools > User > {commandname}.

However, running as part of the build config, I get the error:

Error: Could not start the command: jrb2:///biberprepare

I'm running:

- TeXstudio 3.1.1
- texlive/pdfTeX; Version 3.14159265-2.6-1.40.21 (TeX Live 2020)
- biber version 2.16 rev. 57273
- OS: Ubuntu 20.04 kernel 5.8.0-48-generic

My TeXstudio Meta Commands are configured as follows:

(relevant lines in case the images won't load)

Default Compiler: txs:///pdflatex | jrb2:///biberprepare | txs:///biber | txs:///pdflatex | txs:///pdflatex
Build & View: txs:///compile | txs:///view
Default Bibliography Tool: txs:///biber
User Commands:
First entry field | Second text entry field
jrb2:biberprepare | biberprepare.sh

All 'repeat' options are disabled.

TeXstudio 'metacommands' configuration 1/2

TeXstudio 'metacommands' configuration 2/2

I don't think the commands section is relevant per se, but it could be: TexStudio 'commands' configuration

The directory structure is as follows:

textest
     +----biberprepare.sh
     +----bibtex_files
     |    +----examplebib.bib
     +----chapters
     |    +----introduction.tex
     +----figures
     |    +----titlepage
     |    |    +----example1.svg
     |    +----introduction
     |         +----example2.svg
     +----introduction.tex
     +----maintest.aux
     +----maintest.bcf
     +----maintest.log
     +----maintest.out
     +----maintest.pdf
     +----maintest.run.xml
     +----maintest.synctex.gz
     +----maintest.tex
     +----remabs.conf
     +----svg-inkscape
     |    +----example1_svg-tex.pdf_tex
     |    +----example1_svg-tex.pdf
     +----titlepage.tex

What could be the cause of this?

Some things I tried:

  • A potential solution proposed here suggested OP forgot the shebang. However this is not the case here.

  • I thought that maybe the script needed execute permission, so I ran chmod +x biberprepare.sh -> to no avail.

1 Answer 1

4

As explained in the manual (sec. 3.1) the left field under 'User Commands' has the format <command id>:<display name> and not something like <group>:<command id>. To call the command, you have to reference the command ID, not the display name by using

txs:///jrb2

in the chain.

The answer to the question you linked illustrates how to reference the command, too:

enter image description here

1
  • Thank you. I recall looking in the manual. Not sure why I looked over that part.
    – jrbergen
    Apr 3, 2021 at 9:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .