Я пытался найти решение своих проблем, но не смог найти его ни на этом сайте, ни в Google. Я пробовал: minipage
, multicol
, longtable
, tabu
. Я прочитал документацию glossaries
и не могу понять из нее ни хрена.
У меня есть глоссарий с лингвистическими аббревиатурами глосс. Мне нужна только аббревиатура записи глоссария и описание. Третья часть не нужна. Чтобы сэкономить бумагу, я хотел бы, чтобы глоссарий был в двух колонках (аббревиатура. описател. аббревиатура. описател.) и не хотел бы, чтобы он был на отдельной странице.
Мой МВЭ:
\documentclass[openright,12pt,dutch]{report}
\usepackage{longtable}
\usepackage[nomain,nonumberlist,nogroupskip,nostyles]{glossaries} % voor de lijst met glossen.
\usepackage{glossary-super}
\usepackage{leipzig} % voor glossen
\makeglossaries
\newglossarystyle{myglosses}{
\renewenvironment{theglossary}{
\longtable{r l}
}{
\endlongtable
}
\renewcommand*{\glossaryheader}{}
\renewcommand*{\glsgroupheading}[1]{}
\renewcommand*{\glsgroupskip}{}
\renewcommand*{\glsclearpage}{}
% set how each entry should appear:
\renewcommand*{\glossentry}[2]{
\glstarget{##1}{\textsc{\glossentryname{##1}}}
&
\glossentrydesc{##1} \\
}
\renewcommand*{\subglossentry}[3]{%
\glossentry{##2}{##3}
}
}
\begin{document}
What does \Pl{} mean? My (\Fsg{}.\Poss{}) houses (house-\Pl{}). \Agr, \Antip, \Ben, \Caus, \Compl, \Comp, \Third, \Dem, \Erg, \Fut, \F, \Loc, \Irr, \Impf, \Inf, \Ind, \Indf, \Ins, \Neg, \N, \M, \Nmlz, \Obj, \Obl, \Parg, \Prf, \Prs, \Prog.
\printglossary[style=myglosses,type=\leipzigtype,title=].
\end{document}
Не забудьте запустить makeglossaries
. Я был бы очень признателен за вашу помощь с моей диссертацией.
решение1
что-то вроде этого?
\documentclass[openright,12pt,dutch]{report}
\usepackage{multicol}
\usepackage[nomain,nonumberlist,nogroupskip,nostyles]{glossaries} % voor de lijst met glossen.
\usepackage{glossary-super}
\usepackage{leipzig} % voor glossen
\makeglossaries
\newglossarystyle{myglosses}{%
\renewenvironment{theglossary}%
{\begin{multicols}{2}\raggedright}
{\end{multicols}}
\renewcommand*{\glossaryheader}{}
\renewcommand*{\glsgroupheading}[1]{}
\renewcommand*{\glsgroupskip}{}
\renewcommand*{\glsclearpage}{}
% set how each entry should appear:
\renewcommand*{\glossentry}[2]{
\noindent\makebox[7em][l]{\glstarget{##1}{\textsc{\glossentryname{##1}}}}
\glossentrydesc{##1}
}
\renewcommand*{\subglossentry}[3]{%
\glossentry{##2}{##3}
}
}
\renewcommand*{\glossarysection}[2][]{\section*{Glossary}}
%\setglossarystyle{inline}
\begin{document}
What does \Pl{} mean? My (\Fsg{}.\Poss{}) houses (house-\Pl{}). \Agr, \Antip, \Ben, \Caus, \Compl, \Comp, \Third, \Dem, \Erg, \Fut, \F, \Loc, \Irr, \Impf, \Inf, \Ind, \Indf, \Ins, \Neg, \N, \M, \Nmlz, \Obj, \Obl, \Parg, \Prf, \Prs, \Prog.
\printglossary[style=myglosses,type=\leipzigtype,title=].
\end{document}
решение2
Вот способ использования команд multicol
with \parbox
для форматирования глоссария. section=section
Параметр package используется для предотвращения разрыва страницы перед глоссарием путем изменения уровня секционирования с главы по умолчанию на раздел (что не начинает новую страницу).
\documentclass[openright,12pt,dutch]{report}
\usepackage[nomain,nonumberlist,nogroupskip,nostyles,section=section]{glossaries} % voor de lijst met glossen.
\usepackage{leipzig} % voor glossen
\usepackage{multicol}
\makeglossaries
\newglossarystyle{myglosses}{%
\renewenvironment{theglossary}{%
\setlength{\parindent}{0pt}%
\begin{multicols}{2}%
}{%
\end{multicols}%
}%
\renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glsclearpage}{\columnbreak}%
% set how each entry should appear:
\renewcommand*{\glossentry}[2]{%
\parbox{.3\linewidth}{\hskip \fill\glstarget{##1}{\textsc{\glossentryname{##1}}}}%
\hspace{.1\linewidth}%
\parbox{.6\linewidth}{\glossentrydesc{##1}\hskip \fill}\par%
}%
\renewcommand*{\subglossentry}[3]{%
\glossentry{##2}{##3}%
}%
}
\begin{document}
What does \Pl{} mean? My (\Fsg{}.\Poss{}) houses (house-\Pl{}). \Agr, \Antip, \Ben, \Caus, \Compl, \Comp, \Third, \Dem, \Erg, \Fut, \F, \Loc, \Irr, \Impf, \Inf, \Ind, \Indf, \Ins, \Neg, \N, \M, \Nmlz, \Obj, \Obl, \Parg, \Prf, \Prs, \Prog.
\printglossary[style=myglosses,type=\leipzigtype,title=]
\end{document}
решение3
Я добавлю ответ для leipzig 2.0 (который только что был добавлен в CTAN, 2017-06-16). Слишком поздно для твоей диссертации, но может помочь кому-то еще.
Я включил в эту версию leipzig предопределенный многоколоночный стиль глоссария. После множества экспериментов я в конечном итоге решил, что любой стиль, основанный на табличном формате, не годится, потому что они часто не разбиваются по страницам, а списки сокращений глоссария часто занимают несколько страниц.
Вместо этого предопределенные стили блоков строятся на стилях alttree
и mcolalttree
пакета glossaries. Самый простой способ задать стиль для глоссария сокращений — использовать опцию пакета [mcolblock].
Все неизвестные параметры пакета для leipzig передаются в глоссарии. Поэтому, как и @cfr, я использовал параметр [section], чтобы вывести имя глоссария в заголовке раздела вместо заголовка главы. Если вы действительно не хотите заголовка, вы можете раскомментировать одну строку, чтобы переопределить раздел глоссария, чтобы ничего не делать.
МВЭ:
\documentclass[openright,12pt,dutch]{report}
% leipzig 2.0 has a simpler preamble declaration!
\usepackage[%
mcolblock,% multicolumn block glossary
section,% glossary begins with a section header (not chapter header)
]{leipzig} % voor glossen
\makeglossaries
% Uncomment if you want no chapter/section heading at all:
%\renewcommand*{\glossarysection}[2][]{}
\begin{document}
What does \Pl{} mean? My (\Fsg{}.\Poss{}) houses (house-\Pl{}). \Agr, \Antip, \Ben, \Caus, \Compl, \Comp, \Third, \Dem, \Erg, \Fut, \F, \Loc, \Irr, %\Impf, % changed to \Ipfv!
\Ipfv, \Inf, \Ind, \Indf, \Ins, \Neg, \N, \M, \Nmlz, \Obj, \Obl, \Parg, \Prf, \Prs, \Prog.
\printglosses
\end{document}
Выход:
Вы также можете видеть, что leipzig 2.0 исправляет некоторые ошибки! Больше никаких PL.pluralpl.