Style request: Thornbranch

I’m despairing at encoding a style for my PhD that covers the very different sources that I have in a way that my readers can interpret and access, and am earnestly considering just doing all my PhD references manually. :/
I know exactly how I want it to look and work, and have demonstrated that in the attached jpeg's, also using the examples you requested (all in black) as they would actually look if used as references, and incl. my ideas on how to implement that in Zotero and explanations (in green).
I am just finding I don’t have the technical knowhow to wrangle a csl file into doing what I need it to do.

Would be profoundly grateful to anyone making it for me. I don’t have much money, but would be willing to pay for this.

The rest of this text is just an explanation of why it is tricky, and why I think it would help.

My PhD functions as an introduction on recognising animal sentience to protect suffering animal, covering empirical sciences, ethics and law, but also popular misrepresentation.

On the one hand, this means unusual sources requiring different kinds of information and often strange formatting - old philosophy books that require their original publication date because Kant 2022 is confusing as hell, neuroscience journals using article numbers instead of pages, conference proceedings, legal acts, expert reviews, arxiv and philpaper manuscripts, but also various informal online sources.

On the other hand, it is aimed at a readership that will include activists and people from different fields, often outside academia, who will often not be able to recognise and interpret abbreviated sources outside their field (I teach Bachelor students, and see what kind of stuff they struggle with), nor be able to access things behind paywalls (so for paywalled articles, I try to also share a preprint link).

I’ve written out precisely how I want the style to look to cover all these types of sources, and be maximally readable for anyone. But I just can’t get it encoded.
I can’t find any match over 81 %. The styles that look sorta right (like Acta Philosophica) don’t cover the different source types, while those that cover them and the additional info types (like Chicago) look completely different.


For what it is worth, the style I am proposing effectively puts the exact same reference in the footnote that is also in the bibliography, so it would only have to be encoded once for each type.

I’d be very glad if other people also used this style. I do genuinely believe that making research more accessible, e.g. by having a mechanism for sharing the open access version of the article, not abbreviating things (why do we still do that in the age of online publications and reference management software, anyway? The extra space taken in the footnote costs authors nothing, but really helps readers find things), and even giving pointers as to what a source is, would help.

I do very frequently encounter philosophers who find Zotero unusable for their field, because they say the styles do not match their needs the same way I am experiencing it - though of course I do not know if they would actually switch if this were addressed. So I am hoping this would also help others - but it may well just be for me. :/

If you’d be willing to encode a similar thing that isn’t exactly what I am proposing, but in the spirit of it, and easier to make, or more useful to others, that would also be wonderful already.

Or if you have any other advice on how I could get this done. I did not want to bother people here, I am just out of ideas.

Thank you!


https://s3.amazonaws.com/zotero.org/images/forums/u20100248/kpgqpa2sa8raso0czbf7.jpg
https://s3.amazonaws.com/zotero.org/images/forums/u20100248/te93xm9knev2yxhl4ji8.jpg
https://s3.amazonaws.com/zotero.org/images/forums/u20100248/54dyxea3pche59tsvwil.jpg
https://s3.amazonaws.com/zotero.org/images/forums/u20100248/tvv8uu3848dq9g4dndgc.jpg
https://s3.amazonaws.com/zotero.org/images/forums/u20100248/haqrt3xhayg8b9v0ntky.jpg
  • A complex custom style, quite distinct from standard humanities styles like Chicago Manual is many hours of work, even for a specialist. No one is going to do this for free, I'm afraid, and walking you through the details will take just as long. I see three options.

    1. You can hire someone (I don't know the exact rate, I'd guess it's going to be US$500-1,000 given the complexity)
    2. You can work on this yourself and get to 98% and ask for help on specific details and someone will be happy to help you.
    3. You can work on this with a frontiers AI model. If you given it your style guidenace, the CSL specs, tell them to validate CSL against the schema, and maybe add some example CSL styles as context, they should be pretty decent by now and get you there with some back and forth.

    (Note, though, that combining 2&3 likely won't work -- I'm willing to work with someone who has put in the work to learn CSL and help with the last steps, but I'm not cleaning up AI code for free).
  • edited yesterday at 8:07pm
    I'd be happy to work with you on your style. You can contact me via my website: Bespoke CSL Styles
  • Thank you for the responses. I was honestly bracing for being told that the request is ridiculous in its complexity for one person, or being ignored entirely. Appreciate how kind and constructive you all are.

    @damnation: Have contacted you via your website for a price estimate, to see if I can afford it, which unfortunately seems dubious. Thank you!

    @adamsmith: Do you have a recommendation for specific AI model to use? I'd already tried with getting advice from OpenAIs ChatGPT and then implementing it myself, and not having any AI directly fiddle with the code, but it was honestly terrible - it kept hallucinating fields Zotero lacks, suggesting changes where even I could see they were not good ideas, or forgetting things I'd already done or requested. It also made it impossible for it to help with things like "can you help me interpret the structure of this code - what is going on here?" and "where exactly is x set? I'd expected here or here, but it evidently isn't", where I clearly need help.

    My next bet would have been Gemini Copilot?

    And where exactly is the boundary between 2. and 3.?

    I'm very reluctant to rely on AI here, even though it is just references and nothing where someone can get hurt, and I should be able to tell from the result if it worked or not. Generally, I would only want to do so if I can understand and verify what it proposes. Have you found it reliable?

    Unfortunately, I have zero experience with csl, and only did a tiny bit of html and python back in school (and distinctly recall my enraged IT teacher failing my totally working code because I used 17 GOTO statements, and telling me I could submit for a competition on incomprehensible code without even trying, because he had no idea why my code spat out the result he wanted - and our projects were trivial. I've found ADHD and coding are a lethal combination, because I'm prone to forgetting a / somewhere, or changing my mind about how I will approach a problem halfway through, or forgetting to change a thing back, or forgetting to update my comments to reflect that I ended up doing something else - there is a reason my research and teaching work, which I am good at, involves zero coding.)

    I could make sense of the Acta Philosophica file, and figured changing some of the delimiters etc. there would not be the issue, but for the different document types, I think I need something like Chicago (or I am missing a simpler style that covers all these weird types I have? A simpler style with more similar formatting that still covers old books, book chapters, journal articles with numbers or pages, urls, free manuscripts, legal acts, expert reports, conference proceedings, online encyclopedias and news articles would help a lot, and I am unsure how to find one), and that Chicago file is mindbogglingly long and complex for a newbie - just figuring out what was happening where and finding the relevant sections took me a while and didn't always work. Plus, it often does not seem to spell out explicitly how something is formatted when the thing is introduced, but seems to call on other templates and routines in other locations? It felt like tugging on a bunch of threads that lead into the dark. I got a couple changes made, but for others, could not figure out how to do them, or worse, thought I had changed them, but had no idea why the result was not as expected, which is an alarm bell going off for "you are messing with something you really shouldn't". I fear eventually, I'd get a sequence of cryptic error messages I can't debug, go back and forth in the forum and find after weeks that I still can't get it to work, and then end up handing over a file I've messed up in hidden ways to someone else who will be understandably annoyed by it and who would rather start from scratch and know what they are working with. (It's why I didn't share a csl file, just implementation ideas for the various things.)

    So I'd love to do it myself, but I think realistically, I'm terrible at this, and would end up messing the file up terribly, with AI or without.

  • The Chicago styles have a particular structure in part because it's designed to automatically produce the 20+ different variants of the style automatically from one template, so while these are great options out of the box, they're bad as a starting point for significant alterations.

    I'd go with the Acta Philosophica (or a similar) style and then just 'crudely' tag on choose -- if type = -- else-if type = conditions to get the formatting you want.
    That might not be the most elegant or most efficient way to do this, but it's the easiest to code and read for a beginner.

    As for AI models, I haven't tested this, but I only use local agentic AI for anything but the most basic coding these days. Among other things, Claude Code (or Copilot, or Codex, or what have you) can build it's on validation pipeline (i.e. validate the CSL file it creates against the CSL 1.0.2 schema) so that it doesn't hallucinate fields or functionality. You can set it up with an MCP like pupeteer to try the code in the online code editor or you can even have it run citeproc-js directly on test data (you can export CSL JSON from Zotero) and output you give it (like the above) and iterate automatically until it's right.
  • That is very helpful feedback, thank you!

    Claude Code seems affordable and straightforward, and this gives context for why the Chicago file is so complicated to make sense of.

    Do you know of a different Zotero csl that already recognises a large range of reference types, but is still relatively easy to read and debug for a newbie? (logically structured, not bloated, commented?)

    My intuition was that changing the formatting of the output would be much easier/quicker than writing it out so it initially retrieves the correct information per reference, but maybe that was also a wrong hunch, because the two are so connected? "if type = -- else-if type =" sounds straightforward.

Sign In or Register to comment.