Условное утверждение для изменяющегося стиля журнала

Я работаю над настройкой стиля цитирования (CSL) для конкретного ежегодного журнала конференции. Существующий стиль цитирования, как правило, правильный, но конференция требует определенного и другого стиля для своего журнала по сравнению со всеми другими журналами. Например, существующий стиль журнала обеспечивает следующее для всех журналов:

Автор Ф., Автор С. и Т. Автор. Название статьи журнала. Отчет о транспортных исследованиях: Журнал Совета по транспортным исследованиям, № 9999, 2013, стр. 107–117.

в то время как конференция требует следующий стиль только для их журнала:

Автор Ф., Автор С. и Т. Автор. Название статьи журнала. В отчете по исследованиям в области транспорта: Журнал Совета по исследованиям в области транспорта, № 9999, Совет по исследованиям в области транспорта при Национальных академиях, Вашингтон, округ Колумбия, 2013 год, стр. 107–117.

Мой главный вопрос: как изменить стиль цитирования для журналов, но только когда заголовок соответствует определенному заголовку журнала?

Общий стиль цитирования для журналов показан ниже:

<else-if type="article-journal article-newspaper" match="any">
  <group delimiter=". ">
    <text macro="title"/>
    <group delimiter=", ">
      <text variable="container-title" font-style="italic" form="long"/>
      <text variable="volume" prefix="Vol. "/>
      <text variable="issue" prefix="No. "/>
      <text macro="issued"/>
      <text macro="page"/>
    </group>
  </group>
</else-if>

В настоящее время я работаю над добавлением оператора else-if, который выбирает type="article-journal", но также распознает, когда переменная title="specific journal title" включить изменения в стиле, запрошенном конференцией. Увидеть ниже:

<else-if type="article-journal article-newspaper" match="any">
  <choose>
    <if match=".[title='specific journal title']">
      <!--   SPECIFIC JOURNAL CITATION   -->
    </if>
    <else>
      <!--   GENERAL JOURNAL CITATION   -->
    </else>
  </choose>
</else-if>

Я считаю, что этот новый код не работает, потому что используемое соответствие не указано в CSL, но я видел примеры в XML для использования <when> а также <otherwise> (которые, по-видимому, не принимаются csl. Как создать форматирование для журнала, если для данной цитаты требуется другой формат в том же "типе"?

2 ответа

Решение

Спасибо за добавление некоторых примеров. Судя по вашему примеру с документом "Отчет об исследованиях в области транспорта", он вовсе не похож на журнальную статью, а скорее на главу, отчет или документ конференции. Ссылки на журнальные статьи редко печатают издателя ("Совет по исследованиям в области транспорта при Национальных академиях, Вашингтон, округ Колумбия") или используют "В" перед названием публикации.

Я бы попытался изменить тип элемента ваших документов TRR (например, "глава", "отчет" или "документ-конференция" CSL) и посмотреть, приблизит ли вас один из них к тому, что вам нужно. Текущий стиль в Кстати, репозиторий CSL уже определяет форматы для этих трех типов элементов. И если вы используете Zotero, см. https://aurimasv.github.io/z2csl/typeMap.xml для отображения между типами элементов Zotero и CSL и полями.,

К сожалению, это невозможно. Значение установлено на match (.[title='specific journal title']) недопустимо в схеме CSL 1.0.1. Схема не предлагает метод тестирования переменного содержимого, и это сделано специально, чтобы предотвратить сложность, предотвращая такой вид специального кода в коде стиля.

Другие вопросы по тегам