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.

3

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 at 9:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.