2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Несуществующие пакеты
Сообщение14.02.2016, 22:07 


03/06/12
2874
Red_Herring в сообщении #1099401 писал(а):
Почём я знаю? У меня нет ни малейшего интереса разбираться в этих окаменелостях

При чем тут окаменелости? При установке любого пакета потом указывается: установлено столько-то файлов и столько-то пакетов.

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение14.02.2016, 22:40 
Заслуженный участник
Аватара пользователя


31/01/14
11482
Hogtown
Sinoid в сообщении #1099422 писал(а):
При чем тут окаменело

При том, что misc209 древняя коллекция пакетов, причём составленная исключительно для MikTeX.

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение15.02.2016, 04:16 
Заслуженный участник


01/06/15
1149
С.-Петербург
Red_Herring не работает с MikTeX и не имеет никакого желания с ним разбираться. Его вполне можно понять. Но вот чего я никак не пойму, так это почему у Вас возникли проблемы с пакетами индексирования. Давайте разбираться. Вы пишете, что в полном дистрибутиве MikTeX нет каких-то пакетов. Но они там есть. И об этом прямо сказано на соответствующей пакету странице CTAN (Вы сами дали на неё ссылку в вопросе)
Sinoid в сообщении #1098900 писал(а):
Walker_XXI в сообщении #1098744 писал(а):
Строка «Con­tained in $\text{MiK}\TeX$ as mis­c209» ни о чём Вам не говорит?

Вы имеете ввиду, что это аналог пакета multind? Так я попробовал использовать его

Я имею ввиду, что на CTAN сказано: пакет multind есть в MikTeX и включён в коллекцию пакетов misc209. Чтобы его (multind) использовать, нужно с помощью менеджера пакетов установить пакет misc209. Но в tex-документе вызывать нужно не его, а именно multind:
\usepackage{multind}

Об этом можно догадаться, если после установки misc209 заглянуть в папку MiKTeX 2.9\tex\latex\misc209 - там, среди других, увидите файл multind.sty

Sinoid в сообщении #1098900 писал(а):
Walker_XXI в сообщении #1098744 писал(а):
А «the $\AmS$ pro­vide a re­place­ment pack­age amsmidx» тоже?

А это что, тоже возможная замена? Там какие-то файлы с расширением .dix и .ins

Да, аналог. Не Вы ли писали:
Sinoid в сообщении #1098696 писал(а):
Это что, чтобы скачать аналог этого пакета, нужно нажать ссылку amsmidx?
? На той же странице CTAN написано, что multind не работает, если в документе используются AMS-классы, поэтому есть ams-аналог. Если нажать на ссылку, попадёте на страницу описания пакета amsmidx. Там тоже сказано, что пакет есть в MikTeX - достаточно установить коллекцию am­scls через менеджер пакетов. И не нужно ничего качать напрямую с CTAN и компилировать из исходников.

Ну а пакет makeidx вообще не нужно инсталлировать отдельно - он входит в базовый комплект MikTeX, т.е. всегда установлен. Им нужно просто пользоваться.

Sinoid в сообщении #1099422 писал(а):
При чем тут окаменелости? При установке любого пакета потом указывается: установлено столько-то файлов и столько-то пакетов.
"Окаменелости" при том, что интересующий Вас пакет multind разработан ещё для latex209 и давно не обновляется. А что касается пакетов и их коллекций, то тут просто многозначность терминов. В контексте менеджера пакетов MikTeX пакет - это один архивный файл, из которого извлекается несколько файлов (стилевые, документация, и др.). В контексте компилятора LaTeX пакету соответствует стилевой файл, подключаемый командой \usepackage{}. При установке одного дистрибутивного пакета таких стилевых файлов может быть несколько. Т.е. дистрибутивный пакет может быть коллекцией пакетов.

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение15.02.2016, 21:01 


03/06/12
2874
Red_Herring в сообщении #1099438 писал(а):
При том, что misc209 древняя коллекция пакетов,

Я забыл сказать, что выяснил, что коллекция пакетов misc мне и не нужна, вместо него я вышел на файл стиля amsmidx
Walker_XXI в сообщении #1099507 писал(а):
MiKTeX 2.9\tex\latex\misc209

Вот-вот. интересно, как вы угадали, что смотреть нужно в папке tex, а затем в папке latex, ведь в папке MiKTeX 2.9 есть еще и папка pdftex, ну, допустим, в той папке мало файлов, но ведь в папке tex их много, а вы же как-то вышли на папку latex. А при установке misc209 там, где указывается путь инсталляции, у меня решетки. А вот еще момент. Вот тут рассказано про регистрацию файлов. Это что, после того, как файлы пакета разложены куда надо, запускаю командную строку, туда вписываю команду mktexlsr (известную также как texhash) и жму энтер?

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение16.02.2016, 04:07 
Заслуженный участник


01/06/15
1149
С.-Петербург
Sinoid в сообщении #1099694 писал(а):
Вот-вот. интересно, как вы угадали, что смотреть нужно в папке tex, а затем в папке latex
Вообще говоря, тут гадать не нужно. Я просто знаю, что большинство пакетов устанавливается в один из подкаталогов каталога /tex (в зависимости от специфики и назначения пакета). Пакеты для latex устанавливаются в /tex/latex. А вообще стандартная структура каталогов LaTeX описана в документации и литературе (правда, сейчас не вспомню, где).
Sinoid в сообщении #1099694 писал(а):
А вот еще момент. Вот тут
рассказано про регистрацию файлов. Это что, после того, как файлы пакета разложены куда надо, запускаю командную строку, туда вписываю команду mktexlsr (известную также как texhash) и жму энтер?

Вот там сказано: "К сожалению, страница, которую вы искали в этом блоге, не существует."
Конечно, можно инсталлировать пакеты и вручную. Как это делать, обычно описывается в документации самого пакета. Однако в современных дистрибутивах LaTeX это редко когда требуется. У Вас же есть полный MikTeX! Так установите нужный пакет (или коллекцию пакетов) с помощью менеджера пакетов (Package Manager) и пользуйтесь пакетом. Package Manager сам разложит файлы пакета по соответствующим папкам и запустит все необходимые для регистрации пакетов и шрифтов служебные программы. Более того, если установлена опция "Автоматически инсталлировать отсутствующие пакеты", то достаточно просто "натравить" texify на исходник - компилятор автоматически выявит отсутствующие пакеты, запустит менеджер пакетов для их установки, а потом повторит компиляцию.

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение16.02.2016, 12:15 
Заслуженный участник
Аватара пользователя


31/01/14
11482
Hogtown
Walker_XXI в сообщении #1099784 писал(а):
А вообще стандартная структура каталогов LaTeX описана в документации и литературе (правда, сейчас не вспомню, где).


Поскольку эта структура называется tds (TeX Directory Structure) то в TL ответ даёт texdoc tds с терминала. В результате чего оказывается что это tds.pdf (какой сюрприз! кто бы мог подумать) который часть TL но может быть найден по гуглу

https://tug.org/tds/tds.pdf

-- 16.02.2016, 04:46 --

Вообще геронтофилия (и некрофилия) в отношении пакетов TeX может иметь печальные последствия. Надо смотреть: имеет ли пакет mantainer который активен, или сирота. Поскольку авторы уходящие на покой обычно передают пакет достойному человеку, а если что случилось, то пакет как правило подбирают. Так, например, случилось с tex4ht который после внезапной смерти Эйтана Гурария подобрали лично Карл Берри и Radhakrishnan.

А недобранный пакет как правило означает, что он никому не нужен. multind не подобрали, и в TL он не входит (вероятно в силу отсутствия лицензии)

https://www.ctan.org/pkg/multind

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение16.02.2016, 16:24 


03/06/12
2874
Walker_XXI в сообщении #1099784 писал(а):
Вот там сказано: "К сожалению, страница, которую вы искали в этом блоге, не существует."

Там при переходе на конце адреса появляется откуда-то буква c, ее убираешь и начинает находить.
Walker_XXI в сообщении #1099784 писал(а):
"Автоматически инсталлировать отсутствующие пакеты",

Это ask me first в Settings?
Walker_XXI в сообщении #1099784 писал(а):
достаточно просто "натравить" texify на исходник

А вот это я не умею.
Давайте я еще раз это все проговорю, подытожу. А вы, если что не так, подправите. Вот я открыл пакет менеджеров, установил какой-нибудь пакет. При этом, скорее всего, в папке tex, которая называется каталогом или создастся одноименная с установленным пакетом папка, которая называется подкаталогом и тогда вот в этом самом подкаталоге создадутся файлы .sty, имена которых можно использовать в преамбуле и вот если среди этих файлов .sty есть одноименный с установленным пакетом, то и его можно использовать в преамбуле. При этом может создастся обманчивое впечатление, что в преамбуле используется имя пакета из менеджера пакетов. Или никакой одноименной папке вообще не создастся, а созданные файлы .sty распределятся по уже имеющимся подпапкам (подкаталогам) папки (каталога) tex. При этом вместо каталога tex может быть какой-нибудь другой каталог. А еще я эти файлы .sty могу копировать и вставлять в папку с файлом .tex, над которым работаю. При этом если я изменю файл .sty, то при компилляции файла .tex будет использоваться именно этот файл .sty, а не одноименный с ним файл из папки MiKTeX. Я все верно понял?
Red_Herring в сообщении #1099839 писал(а):
Вообще геронтофилия (и некрофилия) в отношении пакетов TeX может иметь печальные последствия

Это что, означает, что комп может поломаться?

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение16.02.2016, 21:18 
Заслуженный участник
Аватара пользователя


31/01/14
11482
Hogtown
Sinoid в сообщении #1099894 писал(а):
Это что, означает, что комп может поломаться?

Не комп поломаться а тех плохо компилироваться

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение16.02.2016, 21:39 
Заслуженный участник


27/04/09
28128
Да, ваша система будет в порядке. Просто пакет постепенно устареет настолько, что будет, скорее всего, создавать проблемы с новыми версиями других пакетов и окружения. Для тех документов, в которых вы его использовать не будете, всё будет в порядке тоже.

(Ситуация крайне типична для ПО, и, видимо, уникальна в этой области, потому что нигде в других местах так просто детали систем не заменяются и так быстро и многочисленно не разрабатываются.)

-- Вт фев 16, 2016 23:42:25 --

Sinoid в сообщении #1099894 писал(а):
Это ask me first в Settings?
Это как раз «спрашивать меня перед установкой». Лучше, чем не спрашивать и не устанавливать, да. Можно ещё выбрать «Yes», тогда спрашивать не будет, а ставить будет.

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение16.02.2016, 21:47 


03/06/12
2874
arseniiv в сообщении #1099980 писал(а):
Просто пакет постепенно устареет настолько, что будет, скорее всего, создавать проблемы с новыми версиями других пакетов и окружения

Да я ничего и не обновляю. Так, скажите, пожалуйста, я двумя постами выше правильные вещи написал или нет?

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение16.02.2016, 22:00 
Заслуженный участник


27/04/09
28128
Я лично тут ничего сказать не могу, потому что не проверял воочию или не читал соответствующую документацию — только ставил как-то давно (вообще давно ничего не набирал в техе кроме формул на этом форуме) несколько пакетов и использовал. :-) Подождите Walker_XXI или кого-то ещё.

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение17.02.2016, 00:29 
Заслуженный участник


01/06/15
1149
С.-Петербург
Sinoid в сообщении #1099894 писал(а):
Это ask me first в Settings?

Это рядом. Опция автоустановки называется "Install missing packages on-the-fly". А "ask me first" означает "сперва спросить меня". Позволяет выбрать, молча устанавливать отсутствующие пакеты, или перед установкой каждого спрашивать, давая возможность отказаться от установки пакета.
Sinoid в сообщении #1099894 писал(а):
Вот я открыл пакет менеджеров, установил какой-нибудь пакет. При этом, скорее всего
При этом лучше разделить две разных задачи.
1. Можно сосредоточиться на своей работе - на тексте, а LaTeX рассматривать лишь как инструмент. Установили пакет - пользуйтесь. Как именно (назначение, имя пакета при обращении в преамбуле, опции и т.п.) - указано в документации к пакету. Она, как правило, устанавливается вместе с пакетом в папку doc. А ещё её можно посмотреть на странице ctan или воспользоваться гуглом.
2. Можно изучать инструмент - LaTeX. Тогда - да, стоит покопаться в структуре каталогов (папок, директорий - это синонимы), разобраться с файлами, более детально вникнуть в документацию, посмотреть утилиты командной строки...
Sinoid в сообщении #1099894 писал(а):
создадутся файлы .sty, имена которых можно использовать в преамбуле и вот если среди этих файлов .sty есть одноименный с установленным пакетом, то и его можно использовать в преамбуле
Как я упоминал выше, что и как писать в преамбуле, лучше посмотреть в документации к пакету - осмысленное использование позволит добиться нужного результата, а не работать "как получится".

Помещать стандартный стилевой файл в каталог документа и там его править - не лучшая идея. По возможности старайтесь решить проблемы заданием нужных опций пакета или переопределением команд. Если без вмешательства в стилевой файл не обойтись, то следует его переименовать (и сам файл, и в \ProvidesPackage внутри файла), чтобы не путать со стандартным пакетом.

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение17.02.2016, 22:24 


03/06/12
2874
Walker_XXI в сообщении #1100035 писал(а):
\ProvidesPackage внутри файла

То есть копирую файл index.sty в папку, скажем, proba, в которой лежит файл .tex с таким же именем, открываю его, там около начала есть такое место: \ProvidesPackage{index} я заменяю его на \ProvidesPackage{proba} и еще переименовываю скопированный файл. Правильно?


А у вас это работает? У меня не то, что переопределение команд, изменение файла .ist, вообще ничего не меняет или в папку с документом .tex помимо файла .ist, нужно кидать еще файл .sty? Я вам расскажу, как я делал. Вот я скопировал из C:\Program Files\MiKTeX 2.9\makeindex\index файл bibref.ist (он больше всех подходит под файл, описанный в книге, переименовал его в ind.ist, изменил его вот так:
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
<div class="codetitle"><b>Код:</b></div><div class="codecontent">preamble ""

postamble "\\endinput\n"

group_skip ""

headings_flag 0

heading_prefix ""

item_0 "\n+\\item"

item_1 "\n+\\subitem"

delim_n " , "

delim_r "--"

delim_t "}\n"

line_max 72

indent_space ""

indent_length 0

</div>


.tex файл у меня такой:
Используется синтаксис LaTeX
<div class="codetitle"><b>Код:</b></div><div class="codecontent">\documentclass[a4paper,10pt]{amsart}
\usepackage[T2A]{fontenc} \usepackage[utf8]{inputenc}  \usepackage[russian,english]{babel}
\usepackage{graphicx} \makeindex
\begin{document}
Телефон.\index{Закон!Кулона}
\printindex{}
\end{document}
</div>

, а + нигде не появляется. Конечно, дело не в плюсе, просто вообще ничего изменить не выходит. Я уже и пробовал и со .sty в папке и без, ничего не дает. Может, если вас не затруднит, вы выложите папку с рабочими примерами переопределения таких команд?

 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение17.02.2016, 23:37 
Заслуженный участник


09/05/13
8904
∞⠀⠀⠀⠀
Sinoid в сообщении #1100269 писал(а):
.tex файл у меня такой:
Что у Вас за традиция в код файла складывать сторонние коды, html в данном случае.

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

Я вижу Ваш код, убираю лишнее (html то есть), складываю куда попало, прогоняю дважды в первой попавшейся папке, результат ниже. Вам нужно было что-то другое? Зачем все эти телодвижения?


Вложения:
code_1100269_1.pdf [35.89 Кб]
Скачиваний: 260
 Профиль  
                  
 
 Re: Несуществующие пакеты
Сообщение18.02.2016, 06:47 
Заслуженный участник


01/06/15
1149
С.-Петербург
Sinoid в сообщении #1100269 писал(а):
То есть копирую файл index.sty в папку, скажем, proba, в которой лежит файл .tex с таким же именем, открываю его, там около начала есть такое место: \ProvidesPackage{index} я заменяю его на \ProvidesPackage{proba} и еще переименовываю скопированный файл. Правильно?
Не совсем понятно, зачем пакет называть тем же именем, что и свой документ. Мне кажется, в имени пакета стоит оставить что-то от оригинального названия. Кроме того, прежде чем переименовывать пакет или создавать собственный, убедитесь (хотя бы поиском на ctan), что ещё нет стандартного пакета с таким именем. Это поможет избежать недоразумений. В данном случае я бы дал пакет пакету имя "indexp". Не забудьте, что после переименования пакета в преамбуле документа нужно писать \usepackage{indexp}, а не \usepackage{index}

Sinoid в сообщении #1100269 писал(а):
А у вас это работает? У меня не то, что переопределение команд, изменение файла .ist, вообще ничего не меняет или в папку с документом .tex помимо файла .ist, нужно кидать еще файл .sty? Я вам расскажу, как я делал. Вот я скопировал из C:\Program Files\MiKTeX 2.9\makeindex\index файл bibref.ist (он больше всех подходит под файл, описанный в книге, переименовал его в ind.ist, изменил его вот так:
Тут я согласен с Otta: Вы бы описали цель своих манипуляций. Какое переопределение команд у Вас не работает? Что за "файл, описанный в книге"? А в той книге не написано, как этим файлом пользоваться, что с ним делать?
Кроме того, уж если Вы взялись за манипуляции с файлом bibref.ist, Вы бы почитали комментарии в пакете, который его использует. Файл пакета называется bibref.sty (надеюсь, найти сумеете сами), комментарии в начале файла. Там сказано, что нужно сделать, чтобы компилятор использовал этот файл.

Но Вам нужны эти сложности? Вы уверены, что Ваши цели недостижимы использованием уже готовых пакетов? Посмотрите статью https://www.ibm.com/developerworks/ru/l ... _styles_10 - может подберёте себе подходящий. Если же хотите продолжать свои упражнения с пакетами, то для начала разберитесь, как идёт процесс компиляции: какие программы и в какой последовательности запускаются, где они ищут входные файлы, как их обрабатывают, куда записывают выходные файлы и что с ними происходит потом. Процессы эти не настолько простые, чтобы их работу можно было легко и быстро изучить "методом тыка вслепую", но они все описаны. Читайте, изучайте.

Sinoid в сообщении #1100269 писал(а):
Может, если вас не затруднит, вы выложите папку с рабочими примерами переопределения таких команд
Каких "таких"? Если Вы намекаете на мой совет в предыдущем сообщении использовать "переопределение команд", то я имел ввиду использование \renewcommand в tex-файле, а не вмешательство в файлы с кодом стандартных пакетов. Наши беседы будут проходить с большей пользой, если вопросы будут следовать плану:
- Я хочу сделать то-то.
- Вот тут я прочитал, что это делается так и так.
- Я сделал так (здесь желательно привести минимально рабочий код).
- Я ожидал, что получится "А" (ожидаемый результат может отличаться от первоначальной основной цели). У меня получилось "B".

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group