2014 dxdy logo

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

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




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


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

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

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


31/01/14
11312
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
2868
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
11312
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
2868
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
11312
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
2868
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
2868
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 Кб]
Скачиваний: 203
 Профиль  
                  
 
 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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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