LINUX.ORG.RU

Сообщения LemeRus

 

Как изменить оформление списка при объявлении макроса?

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

Вот такой стилевой файл меняет оформление списка как надо, но ломает абсолютно все остальные списки

\makeatletter
\def\@listI{%
\leftmargin=250pt % просто абсурдное значение для наглядности. По факту проблема с вертикальными отступами.
}
\makeatother

\long\def\trial#1{
	% \begin{titlepage} % сначала думал, что в окружении проблема, но не влияет
		титульник с оглавлением

		#1
	% \end{titlepage}
}

А такой стилевой файл не меняет оформление списка как надо :(

\makeatletter
\def\@listI{%
\leftmargin=250pt % просто абсурдное значение для наглядности. По факту проблема с вертикальными отступами.
}
\makeatother

\long\def\trial#1{
	% \begin{titlepage} % сначала думал, что в окружении проблема, но не влияет
		титульник с оглавлением

		#1
	% \end{titlepage}
}

Минимальный файл, на котором видна проблема

\documentclass[14pt]{report}

\usepackage{extra} % здесь поддержка кириллицы и юникода (\RequirePackage[T1, T2A]{fontenc}\RequirePackage[utf8]{inputenc}\RequirePackage[english,russian]{babel}%)
\usepackage{other} % здесь проблемный макрос


\begin{document}
Другой текст

На несколько абзацев

\trial{
Ненумерованное введение...
\begin{enumerate} % этот должен уезжать вправо
	\item первый в титуле
	\item второй в титуле
\end{enumerate}
}

И после тоже

\begin{enumerate} % а этот должен выглядеть стандартно
	\item первый в теле
	\item второй в теле
\end{enumerate}

\end{document}

Дефы вместо латеховского аналога использую потому что до этого была написана куча кода на дефах и теперь местами при изменении ломается. Короче единообразие.

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

 ,

LemeRus
()

Телега не позволяет отправить файл

Есть:

  • Телеграм установленный из репозитория, он нормально работает с большинством файлов
  • Заметка в обсидиане, созданная расширением excalidraw.

Заметку я экспортировал в .png. Первый раз телега нормально её отправила, второй и последующие заявляет «Невозможно отправить пустой файл». При этом картинка лежит в /home/user/Pictures и выглядит почти идентично другой картинке, которая нормально распознаётся и отправляется (ну логично, что количество и цвет пикселей отличаются, главное, что формат и разрешения одинаковые)

 , , , ,

LemeRus
()

Появляется нежелательный пробел при вёрстке в latex

Передо мной стоит задача: подкрашивать серым названия клавиш в обозначениях хоткеев. Я это реализовал через рекурсию, подобную приведённой в The TeXbook в самом конце 20-й главы и пакет color. Документ компилировал с помощью pdflatex из терминала. Это работает, но если вызвать команду \hk в середине абзаца, то появляется совершенно лишний пробел. Минимальный пример кода приведён с комментариями:

\documentclass[14pt]{report}
\RequirePackage[dvipsnames, usenames]{color}

\begin{document}
\def\hotKeyColor#1{
            \ifx#1\end % выходим из рекурсии, записывая текущее слово в бокс с фоном
                \def\next{\edef\hkstr{\hkstr\noexpand\colorbox{Gray}{\thisKey}}} % без завершающего плюса
             \else
                \let\next=\hotKeyColor % назначаем следующий шаг рекурсии
                \if#1+ % если попался плюс, то запишем в итоговую строку название клавиши
                  \edef\hkstr{\hkstr\noexpand\colorbox{Gray}{\thisKey}+} 
                  \def\thisKey{} % обнулим название
                \else
                  \edef\thisKey{\thisKey#1} % добавляем текущий токен в название
                \fi
             \fi \next} % идём на следующий уровень рекурсии
\def\hk#1{{\def\hkstr{} \def\thisKey{} % создаём команды для хранения строки вывода и текущего слова
            \hotKeyColor#1\end \hkstr % вызываем рекурсивную ф-цию, а затем выводим результат
            }}

\hk{Ctrl+Alt+F4}txt. % здесь порядок, Ctrl начинается сразу после абзацного отступа

txt.\hk{Ctrl+Alt+F4}txt. % а тут после txt. появляется пропуск примерно в полторы длины от сочетания
\end{document}

Как можно избавиться от лишнего клея во второй строке итогового файла?

Перемещено hobbit из general

 , ,

LemeRus
()

Как TeX передаёт аргументы в макрос?

Читая TheTeXbook дошёл до определений макросов и примера рекурсии, но не совсем понимаю, почему оно работает именно так.

\def\length#1{{\count0=0 \getlength#1\end \number\count0}}
\def\getlength#1{\ifx#1\end \let\next=\relax
  \else\advance\count0 by1 \let\next=\getlength\fi \next}

Собственно вот пример кода и getlength принимает по одному символу. Почему? Где хранятся остальные символы аргумента?

Есть догадка: это происходит из-за того, что аргумент уже токенизирован техом при чтении length, но верна ли она?

 

LemeRus
()

Папка со своими файлами .sty для latex

Значит ситуация. Делаю что-то типа фреймворка для оформления курсовых, дипломных и т.п. работ ВУЗа, поэтому надо, чтоб все файлы красиво лежали в одной папке/директории с собственной структурой и работали сразу после скачивания.

Проблема: сейчас файлы .sty & .cls включаются в документ через указание относительного пути (../sty/NameOfFile), но из-за этого компилятор плюётся предупреждением. Есть ли возможность из основного .tex файла добавить в область видимости папки с моими файлами стилей и если да, то как?

На просторах сети нашёл только советы пихать свои стили в основную папку латеха, но кто из учёных умов будет разбираться, куда у него этот латех поставлен. Или изменять переменные TEXMFHOME и TEXMFLOCAL, но опять же, кто это будет делать, сложна же!

В общем нужен способ делать вместо \documentclass{../sty/NOF} \documentclass{NOF} и не получать предупреждение о том, что у меня пакет неправильно назван

 ,

LemeRus
()

Разблокировка загрузчика BQ-9055L

Значит… Пытаюсь перепрошить планшет BQ-9055L со стоковой системой android 11 go.

Прошивку взял отсюда, там же есть скрипт для прошивки, но его выполнение прерывается с FAILED (remote: 'Flashing Lock Flag is locked. Please unlock it first!'). Попытки разблокировать с помощью

fastboot oem unlock
fastboot oem unlock-go
fastboot flashing unlock

прерываются с FAILED (remote: 'unknown cmd.')

После некоторого количества мытарств разрешил разблокировку загрузчика в настройках для разработчиков, но результат остался ровно таким же.

Запускаю из директории, в которой лежит скрипт для прошивки и сама прошивка.

Что стоит ещё попробовать для перепрошивки, какой информации не хватает? На просторах интернета нашёл упоминания о варианте oem unlock с каким-то кодом, может ли быть это моим случаем, что это за код и откуда его брать?

И ещё, имеет ли сейчас смысл ставить 8 или 9 дроид или уже могут начаться проблемы с распространёнными приложениями?

 , ,

LemeRus
()

Wine: Access violation at address 00412458 in module «VerseQ.exe». Read of address 00000000

Иногда клавиатурный тренажёр падает с ошибкой Access violation at address 00412458 in module "VerseQ.exe". Read of address 00000000 после завершения строки. Wine: wine-6.0.3 (Ubuntu 6.0.3~repack-1) При этом программа иногда работает нормально.

 

LemeRus
()

Простейший кейлоггер

Хочу написать для себя простейший кейлоггер, ну или узнать о существовании подходящего. Надо:

  1. Отлавливание всех символов, желательно управляющих тоже.
  2. Анонимизация данных. Мне важно только количество введённых знаков, а не их последовательность.
  3. Лог из всех приложений.

Как отловить введённые символы, чтобы отдельно получить количество каждой из русских и латинских букв, backspace, enter, ctrl и.т.д.? В идеале мне нужен кусок кода на си, плюсах или питоне, который будет возвращать только что введённый символ вне зависимости от активного окна и приложения.

 , ,

LemeRus
()

RSS подписка на новые темы