¿Secuencia de comandos para eliminar un comando y las llaves asociadas de la fuente en TeXShop?

¿Secuencia de comandos para eliminar un comando y las llaves asociadas de la fuente en TeXShop?

Cuando edito la fuente en TeXShop, a menudo encuentro que quiero quitar el énfasis de una palabra o frase. Pero eliminar \emphel principio de la palabra y sus {}alrededores es un poco más molesto de lo que me gustaría.

Supongo que lo que estoy buscando es un script que pueda ejecutar al inicio de un comando (como \emph) que escaneará de izquierda a derecha y eliminará todo excepto el texto entre llaves (es decir, que eliminará el "\emph", el "{" y el "}")

Algo que me sacaría de

This is \emph{emphasized} text 

a

This is emphasized text 

En el propio código.

Respuesta1

No es una solución TeX, pero puedes usar una expresión regular, por ejemplo en vim:

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

Advertencias: no elimina \emphel interno ( \emph{foo \emph{bar} baz}), ni si \emphabarca varias líneas. (¡No dudes en comentar si hay mejoras!)

Respuesta2

Si se deben hacer las mismas modificaciones paratodoel \emphcomando en documentos grandes o algunas partes grandes, le sugiero que no toque el comando \emph en absoluto, sino que redefina el comando (en el preámbulo o en el cuerpo del documento). La principal ventaja es que puedes cambiar fácilmente entre estilos sin tocar cada palabra resaltada. El 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}

énfasis

Respuesta3

Si te entendí correctamente, quieres algo como esto:

\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}

información relacionada