Скрипт для удаления команды и связанных с ней фигурных скобок из источника в TeXShop?

Скрипт для удаления команды и связанных с ней фигурных скобок из источника в TeXShop?

Когда я редактирую исходный текст в TeXShop, я часто обнаруживаю, что хочу убрать акцент со слова или фразы. Но удаление the \emphв начале слова и {}вокруг него немного раздражает больше, чем мне бы хотелось.

Полагаю, я ищу скрипт, который можно выполнить в начале команды (например, \emph), который будет сканировать слева направо и удалять все, кроме текста между фигурными скобками (т. е. который удалит «\emph», «{» и «}»).

Что-то, что унесло бы меня от

This is \emph{emphasized} text 

к

This is emphasized text 

В самом коде.

решение1

Это не решение TeX, но вы можете использовать регулярное выражение, например, в vim:

:%s/\\emph{\([^}]*\)}/\1/g

Предостережения: не удаляет внутренние \emphскобки ( \emph{foo \emph{bar} baz}), а также если они \emphзанимают несколько строк. (Не стесняйтесь оставлять комментарии для улучшений!)

решение2

Если те же самые изменения должны быть сделаны длявсекоманда \emphв больших документах или некоторых больших частях, я предлагаю вам вообще не трогать команду \emph, а переопределить команду (в преамбуле или в теле документа). Главное преимущество в том, что вы можете легко переключаться между стилями, не трогая каждое выделенное слово. MWE:

\documentclass{article}
\begin{document}
% Normal behaviour  
normal text \emph{emphasis text} \par
% Emphasis out
\renewcommand{\emph}[1]{#1}
normal text \emph{emphasis text} \par
% Emphasis become bold text
\renewcommand{\emph}[1]{\textbf{#1}} 
normal text \emph{emphasis text} \par
% Emphasis become underlined text
\renewcommand{\emph}[1]{\underline{#1}}
normal text \emph{emphasis text} \par
\end{document}

эмф

решение3

Если я правильно понял, вы хотите что-то вроде этого:

\documentclass{article}

% \disable takes two arguments and only uses the second
\makeatletter
\let\disable\@secondoftwo
\makeatother

\begin{document}

This is \emph{emphasized} text

This is \disable\emph{emphasized} text

\end{document}

Связанный контент