%20%D0%B4%D0%BB%D1%8F%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B5%D0%B9%2C%20%D0%BD%D0%B5%20%D1%8F%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D1%85%D1%81%D1%8F%20%D0%B0%D0%B1%D0%B1%D1%80%D0%B5%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D0%B0%D0%BC%D0%B8.png)
Я искал 2 часа подряд и должен сказать, что документация по пакету обширная, но не очень понятная — это расстраивает. Я ищу способ вручную отображать форму первого использования (длинную форму) записей не-акронимного типа без сброса счетчика. Может кто-нибудь мне помочь?
Я узнал, что на самом деле есть команды для акронимов, которые делают именно это. Но использование их в записи в другом глоссарии (основном или пользовательском) не приводит к созданию текста.
Редактировать: Во-первых, я хотел бы поблагодаритьмафпза его ответ на данный момент. Возможно, мне следует подробнее остановиться на своей проблеме. Сейчас я пишу свою бакалаврскую диссертацию. Поскольку я ввел большое количество формул, мне бы хотелось иметь глоссарий для символов с кратким описанием того, что они обозначают. Кроме того, я думаю о том, чтобы вставить одно и то же определение под каждой формулой. Одна из моих записей выглядит следующим образом:
\newglossaryentry{degvi}{type=symbols,
name=$\Delta E_{GP,i}$,
symbol={MJ},
sort=energie differenz grau verbrauch,
description={Differenz graue Energie und Verbrauch zu Produktion des betrachteten Systems}}
что дает такой вывод:
Честно говоря, я хотел бы видеть тот же вывод под уравнением, не печатая все дважды. Возможно, это не лучший подход, но мне нравится идея иметь базу данных символов с автоматическим созданием глоссария для справки (например, если я пытаюсь найти уравнение с определенным символом).
решение1
Соответствующая команда — \glsfirst{...}
. Используйте ее так:
\documentclass{article}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{A}{%
name={foo},%
description={bar},%
first={first},%
}
\begin{document}
\gls{A}, \gls{A}, \glsfirst{A}
\printglossary
\end{document}
Редактировать:
Что касается вашего обновленного вопроса, меня беспокоит ваше использованиеsymbol
, поскольку то, что вы даете в качестве символа, похоже, является единицей. Возможноэтот ответможет указать лучшее направление.
При этом, если вы хотите использовать записи глоссария так, как вы их определили, вы можете имитировать вывод глоссария, как я сделал здесь с description
окружением под уравнением. Важным моментом является то, что формат вывода \gls{...}
может быть установлен путем переопределения \glsdisplayfirst
и \glsdisplay
. Здесь я переопределяю, \glsdisplayfirst
чтобы показать имя, символ в скобках и описание. Если \gls{degvi}
используется впервые под уравнением, вывод будет таким же, как в глоссарии. Я также настроил стиль глоссария, который имитирует ваш пример вывода, вы можете проигнорировать его и сохранить то, что у вас есть в данный момент.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{glossaries}
\newglossary[slg]{symbols}{sls}{slo}{Symbolverzeichnis}
\makeglossaries
\newglossaryentry{degvi}{%
type=symbols,
name=$\Delta E_{GP,i}$,
symbol={MJ},
sort=energie differenz grau verbrauch,
description={Differenz graue Energie und Verbrauch zu Produktion des betrachteten Systems}%
}
\newglossaryentry{eg}{%
type=symbols,
name=$E_{GP}$,
symbol={MJ},
sort=energie grau verbrauch,
description={Graue Energie des Gebäudes}%
}
%% what should \gls{...} show on first usage
\renewcommand{\glsdisplayfirst}[4]{#1 (#3) #2}
\newglossarystyle{senseistyle}{%
\renewenvironment{theglossary}%
{\begin{description}}%
{\end{description}}%
\renewcommand*{\glossaryentryfield}[5]{%
\item[\glsentryitem{##1}\glstarget{##1}{##2}]
\space (##4)% the symbol in parentheses
\space ##3% description
}%
% No heading between groups:
\renewcommand*{\glsgroupheading}[1]{}%
% Nothing between groups:
\renewcommand*{\glsgroupskip}{}%
}
%% makeindex -s sensei.ist -o sensei.sls -t sensei.slg sensei.slo
\begin{document}
\begin{equation}
\Delta E_{GP,i} = E_{GP} - ...
\end{equation}
\begin{description}
\item \gls{degvi}
\item \gls{eg}
\end{description}
\printglossary[type=symbols,style=senseistyle]
\end{document}
дает