Редактировать

Редактировать

Я думаю, стоит ли попробовать использовать subfilesс memoir, biber, и xelatex. Прежде чем попробовать, я хотел бы спросить: работает ли такая настройка с subfiles?

Обычно я бы просто попробовал сам и посмотрел, ноэтот вопрос на SEзаставил меня заколебаться, потому что это предполагает, что подобная настройка не работает, затем ответ на себя, который отмечен как принятый, имеет "EDIT", который говорит, что он работает только для компиляции основного файла, но не отдельных подфайлов. Но компиляция подфайлов, конечно, является всей целью использования subfiles.

Другими словами, я хочу узнать, нужен ли subfilesнадежный пакет, который должен работать со всеми этими сложными пакетами и программным обеспечением, или он действительно предназначен только для простых документов LaTeX без автоматизированной библиографии, Unicode или других сложностей?

решение1

Ответ на главный вопрос:Да, subfilesскорее всего, пакет будет работать.Я отредактировал почти правильный ответБ Хосчтобы заставить его пример работать. Важнейший момент при использовании subfiles— убедиться, что пути указаны правильно; здесь это означало обернуть команду \subfixвокруг файла библиографии.Смотреть документыдля получения подробной информации.

Проблема встарая темана самом деле это не subfilesпроблема, а связано с конкретным используемым редактором TeX: как сообщить ему, какой текущий основной файл используется для набора и отображения? В противном случае посты старше двух лет, вероятно, больше не будут полезны, поскольку и LaTeX, и пакет подфайлов значительно изменились в октябре 2020 года.

Общее замечание:У вас есть веская причина использовать пакет subfiles? Для структурирования исходного кода большого документа наиболее надежным способом по-прежнему является использование \input(и в меньшей степени \include), и комментирование/раскомментирование этих \inputоператоров по мере необходимости. Основной документ может выглядеть так

\documentclass{memoir}
\input{mypreamble}
\begin{document}
\input{sections/introduction}
%\input{sections/problem}
%\input{sections/solution}
%\input{sections/conclusion}
\end{document}

для набора только введения. В очень больших документах включенные файлы могут состоять из \inputсамих s. Поскольку \inputвстроен в (La)TeX, он работает без проблем со всеми пакетами и всеми инструментами TeX (включая редакторы).

решение2

Я использовал TeX Studio, компилятор по умолчанию и XeLaTeX, оба работали. В дополнение к примеру ниже я попробовал класс article.

Основной.tex:

\documentclass{memoir}
\usepackage{blindtext}
\usepackage{lipsum}
\usepackage[
    backend=biber, 
    style=authoryear-icomp, 
    sorting=nyt]{biblatex}

\usepackage{subfiles} 
\addbibresource{\subfix{bibliography.bib}}

\title{Subfiles package example}
\author{}
\date{ }

\begin{document}
    \maketitle
    \section{Introduction}
    \subfile{sections/introduction}
    \section{Second section}
    \cite{Potter2017}
    \printbibliography
\end{document}

Введение.tex

\documentclass[../main.tex]{subfiles}
\begin{document}
    \lipsum
    \cite{Anderson2018}
    \printbibliography
\end{document}

Редактировать

библиография.bib:

@article{Potter2017,
    author={Potter, Joe},
    title={Marmots},
    journaltitle={Alpine Journal},
    volume={3},
    number={2},
    year={2017},
    pages={40--43}
}

@article{Anderson2018,
    author={Anderson, Joan},
    title={Waterwheels},
    journaltitle={Engineering},
    volume={9},
    number={1},
    year={2018},
    pages={92--101}
}

Связанный контент