Удалить пустые страницы перед глоссарием

Удалить пустые страницы перед глоссарием

Я хотел бы иметь "подразделы" в моем глоссарии или просто два глоссария один за другим. Однако я всегда получаю пустую страницу (или, поскольку я использую twoside & openright, даже две!) между глоссариями.

Я нашел следующую тему

Удалить разрыв страницы перед глоссарием

где короткая версия (я думаю) заключается в том, что любой класс, основанный на «главе», введет clearpage, которую я должен иметь возможность удалить с помощью

\renewcommand*{\glsclearpage}{}

Но у меня это не работает, или я неправильно это называю.

Я создал следующий мини-пример:

\documentclass[11pt,a4paper,twoside,openright]{scrreprt}

% Include Glossary Package
\usepackage[style=alttree,nonumberlist,acronym]{glossaries}
\glssetwidest{ABCD}% widest name
\renewcommand*{\glsclearpage}{}

% Create Glossaries
\newglossary{type1}{gls1}{glo1}{Glossary 1}
\newglossary{type2}{gls2}{glo2}{Glossary 2}

% Generate Glossary Entries
\newglossaryentry{Entry1}{type = type1, name = $aaaa$, description = Position}
\newglossaryentry{Entry2}{type = type1, name = $bbbb$, description = Velocity}
\newglossaryentry{Entry3}{type = type2, name = $cccc$, description = Position}
\newglossaryentry{Entry4}{type = type2, name = $dddd$, description = Velocity}

% Generate Glossaries
\makeglossaries


\begin{document}

% Print Glossaries
\glsaddall
\printglossary[type=type1]
\printglossary[type=type2]

\end{document} 

Что я делаю не так?

Спасибо большое! Ура!


РЕДАКТИРОВАТЬ, РЕШЕНИЕ: Используя приведенные ниже предложения, я добился того, что основная глава глоссария содержала несколько конкретных «разделов» глоссария.

\documentclass[11pt,a4paper]{scrreprt}

% Include Glossary Package
\usepackage[toc,style=alttree,nonumberlist,acronym,section=section]{glossaries}
\glssetwidest{ABCD}% widest name[![enter image description here][2]][2]

% Create Glossaries
\newglossary{type1}{gls1}{glo1}{Accronyms}
\newglossary{type2}{gls2}{glo2}{Nomenclature}

% Generate Glossary Entries
\newglossaryentry{Entry1}{type = type1, name = $aaaa$, description = Position}
\newglossaryentry{Entry2}{type = type1, name = $bbbb$, description = Velocity}
\newglossaryentry{Entry3}{type = type2, name = $cccc$, description = Position}
\newglossaryentry{Entry4}{type = type2, name = $dddd$, description = Velocity}

% Generate Glossaries
\makeglossaries
\glsaddall

\begin{document}

\tableofcontents

% First, start main glossary chapter
\addchap{My Glossaries}
Some introductory text if desired.
% Now print actual glossaries
\printglossary[type=type1]
\printglossary[type=type2]
\bigskip\noindent
Some concluding text if desired.

\end{document} 

Выход

(Я удалил только опции «twoside,openright», чтобы сократить вывод для форума, это ни на что не влияет)

решение1

Вы можете использовать опцию sectionили section=sectionдля пакета глоссариев. Тогда глоссарии получат заголовки на уровне section.

    \documentclass[11pt,a4paper,twoside,openright]{scrreprt}
    % Include Glossary Package
    \usepackage[style=alttree,nonumberlist,acronym,
        section=section% <- added
    ]{glossaries}
    \glssetwidest{ABCD}% widest name
    % Create Glossaries
    \newglossary{type1}{gls1}{glo1}{Glossary 1}
    \newglossary{type2}{gls2}{glo2}{Glossary 2}
    % Generate Glossary Entries
    \newglossaryentry{Entry1}{type = type1, name = $aaaa$, description = Position}
    \newglossaryentry{Entry2}{type = type1, name = $bbbb$, description = Velocity}
    \newglossaryentry{Entry3}{type = type2, name = $cccc$, description = Position}
    \newglossaryentry{Entry4}{type = type2, name = $dddd$, description = Velocity}
    % Generate Glossaries
    \makeglossaries
    \begin{document}
    % Print Glossaries
    \glsaddall
    \printglossary[type=type1]
    \printglossary[type=type2]
    \end{document} 

введите описание изображения здесь

Если заголовок глоссария должен быть на chapterодном уровне, вы можете использовать команду KOMA-Script, \RedeclareSectionCommandчтобы изменить stylefor chapterлокально на section. Тогда не будет разрыва страницы, а заголовок глоссария все еще будет на одном уровне, chapterиспользуя элемент шрифта chapterи имея те же пробелы до и после заголовка. Для этого обходного пути требуется как минимум версия KOMA-Script 3.18 (текущая версия 3.19a).

    \documentclass[11pt,a4paper,twoside,openright]{scrreprt}
    % Include Glossary Package
    \usepackage[style=alttree,nonumberlist]{glossaries}
    \glssetwidest{ABCD}% widest name
    % Create Glossaries
    \newglossary{type1}{gls1}{glo1}{Glossary 1}
    \newglossary{type2}{gls2}{glo2}{Glossary 2}
    % Generate Glossary Entries
    \newglossaryentry{Entry1}{type = type1, name = $aaaa$, description = Position}
    \newglossaryentry{Entry2}{type = type1, name = $bbbb$, description = Velocity}
    \newglossaryentry{Entry3}{type = type2, name = $cccc$, description = Position}
    \newglossaryentry{Entry4}{type = type2, name = $dddd$, description = Velocity}
    % Generate Glossaries
    \makeglossaries
    \begin{document}
    % Print Glossaries
    \glsaddall
    \begingroup
        \RedeclareSectionCommand[style=section,indent=0pt]{chapter}
        \printglossary[type=type1]
        \printglossary[type=type2]
    \endgroup
    \chapter{Chapter}
    \end{document} 

введите описание изображения здесь

Обратите внимание, что команда\glsaddall вставляет в обоих примерах дополнительный горизонтальный пробел перед заголовком первого глоссария. Поэтому см. такжеответ cfr.


Если вы удалите пустые страницы перед первым глоссарием, используяответ cfrтакже можно удалить пустую страницу между глоссариями: использовать \KOMAoptions{open=any}локально.

\documentclass[11pt,a4paper,twoside,openright]{scrreprt}
\usepackage{showframe}

% Include Glossary Package
\usepackage[style=alttree,nonumberlist]{glossaries}
\glssetwidest{ABCD}% widest name
% Create Glossaries
\newglossary{type1}{gls1}{glo1}{Glossary 1}
\newglossary{type2}{gls2}{glo2}{Glossary 2}
% Generate Glossary Entries
\newglossaryentry{Entry1}{type = type1, name = $aaaa$, description = Position}
\newglossaryentry{Entry2}{type = type1, name = $bbbb$, description = Velocity}
\newglossaryentry{Entry3}{type = type2, name = $cccc$, description = Position}
\newglossaryentry{Entry4}{type = type2, name = $dddd$, description = Velocity}
% Generate Glossaries
\makeglossaries\glsaddall% < see https://tex.stackexchange.com/a/300060/43317
\begin{document}
% Print Glossaries
\begingroup
    \KOMAoptions{open=any}
    \printglossary[type=type1]
    \printglossary[type=type2]
\endgroup
\chapter{First Chapter}
\chapter{Second Chapter}
\end{document} 

введите описание изображения здесь

решение2

Здесь вам может понадобиться несколько вещей:

  1. глоссарии должны быть разделами, а не главами;
  2. глоссарии должны быть главами, но иметь индивидуальный формат, который не вставляет пустые страницы, как это делают другие главы;
  3. глоссарии должны быть главами, но не иметь дополнительных пустых страниц перед первым глоссарием, когда глоссарии являются единственным содержанием документа.

ответ esddрассматривает первые две возможности.

В третьем случае проблема в том, что это, \glsaddallкажется, считается контентом, хотя на самом деле ничего не набрано. Я бы посчитал это ошибкой: это не должно вызывать такое поведение, насколько я могу судить.

Однако я не стал углубляться в этот вопрос, поскольку есть простое решение: использовать команду в преамбуле, а не в документе, и все будет хорошо.

\documentclass[11pt,a4paper,twoside,openright]{scrreprt}
\usepackage[style=alttree,nonumberlist,acronym]{glossaries}
\glssetwidest{ABCD}% widest name
\renewcommand*{\glsclearpage}{}

\newglossary{type1}{gls1}{glo1}{Glossary 1}
\newglossary{type2}{gls2}{glo2}{Glossary 2}

\newglossaryentry{Entry1}{type = type1, name = $aaaa$, description = Position}
\newglossaryentry{Entry2}{type = type1, name = $bbbb$, description = Velocity}
\newglossaryentry{Entry3}{type = type2, name = $cccc$, description = Position}
\newglossaryentry{Entry4}{type = type2, name = $dddd$, description = Velocity}

\makeglossaries
\glsaddall

\begin{document}

\printglossary[type=type1]
\printglossary[type=type2]

\end{document}

обычные главы без лишних пробелов

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