Самый простой способ удалить латексный тег (но не его содержимое)? - PullRequest
2 голосов
/ 26 октября 2010

Я использую TeXnicCenter для редактирования документа LaTeX.

Теперь я хочу удалить определенный тег (скажем, emph{blabla}}, который встречается несколько раз в моем документе, но не содержимое тега (поэтому в этомНапример, я хочу удалить все выделения). Какой самый простой способ сделать это?

Может также использоваться другая программа, легко доступная в Windows 7.

Редактировать: В ответ на предложения регулярных выражений важно, чтобы он мог работать с вложенными тегами.

Редактировать 2: Я действительно хочу удалить тег из текстового файла, а не просто отключить его.

Ответы [ 4 ]

4 голосов
/ 26 октября 2010

Используя регулярное выражение, сделайте что-то вроде s/\\emph\{([^\}]*)\}/\1/g. Если вы не знакомы с регулярными выражениями, это говорит:

s -- replace
/ -- begin match section
\\emph\{ -- match \emph{
( -- begin capture
[^\}]* -- match any characters except (meaning up until) a close brace because:
  [] a group of characters
  ^ means not or "everything except"
  \} -- the close brace
  and * means 0 or more times
) -- end capture, because this is the first (in this case only) capture, it is number 1
\} -- match end brace
/ -- begin replace section
\1 -- replace with captured section number 1
/ -- end regular expression, begin extra flags
g -- global flag, meaning do this every time the match is found not just the first time

Это с синтаксисом Perl, с которым я знаком. Следующий perl "one-liners" выполнит две задачи

perl -pe 's/\\emph\{([^\}]*)\}/\1/g' filename будет «тестировать» печать файла в командной строке

perl -pi -e 's/\\emph\{([^\}]*)\}/\1/g' filename изменит файл на месте.

Подобные команды могут быть доступны в вашем редакторе, но в противном случае это будет (должно) работать.

1 голос
/ 06 ноября 2010

\renewcommand{\emph}[1]{#1}

1 голос
/ 03 ноября 2010

Кроули должен был добавить это как ответ, но я сделаю это для него, если вы замените все \ emph {на {, и вы сможете сделать это, не мешая другому содержимому. Это все еще будет в скобках, но если вы не сделали какие-то странные вещи, это не должно иметь значения.

Регулярное выражение будет простым s/\\emph\{/\{/g, но поиск и замена в вашем редакторе сделают это тоже.

Редактировать: Извините, использовал неправильную скобку в регулярном выражении, исправлено.

0 голосов
/ 26 октября 2010

любой достаточно продвинутый редактор должен позволять вам выполнять поиск / замену, используя регулярные выражения , заменяя emph{bla} на bla и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...