Как я могу использовать \ renewcommand, чтобы НАЗАД мои греческие буквы? - PullRequest
7 голосов
/ 01 мая 2011

Я новичок в LaTeX, но я делаю домашнее задание, и теперь у меня есть вопрос, на который я не могу найти ответ.Я создаю определение уравнения, давайте просто скажем, что оно такое:

The potential is characterized by a length $\sigma$ and an energy $\epsilon$.

На самом деле это уравнение является более сложным, поэтому я хотел попробовать ярлык.Если бы мое уравнение было таким упрощенным, я бы не попробовал свою технику замещения.Я использую команду \ renewcom, чтобы сэкономить мне время:

\renewcommand{\sigma}{1}

И это работает невероятно и заменит все экземпляры сигмы на 1. К сожалению, так как \ sigma имеет глобальный охват, мне нужносбросить его.Я пробовал несколько разных способов:
Попытка 1: -deadlock из-за циклической ссылки?

\newcommand{\holdsigma}{\sigma}
\renewcommand{\sigma}{1}
The potential is characterized by a length $\sigma$ and an energy $\epsilon$.
\renewcommand{\sigma}{\holdsigma}

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

\renewcommand{\sigma}{\greek{\sigma}}

но это, очевидно, не сработало для меня.

Есть идеи о том, как греческие буквы изначально определены в языке?

Ответы [ 2 ]

11 голосов
/ 02 мая 2011

Я должен признать, что я не понимаю, почему вы хотите делать то, что вы просите, но это должно работать:

\documentclass{article}
\begin{document}

Before redefinition, \verb|\sigma| looks like $\sigma$.

% Copy the current definition of \sigma to \oldsigma
\let\oldsigma\sigma

% Redefine \sigma to be '1'
\renewcommand{\sigma}{1}

After redefinition, \verb|\sigma| looks like $\sigma$.

You can still use \verb|\oldsigma| if you want to use the original definition $\oldsigma$.

% Restore the original definition of \sigma
\let\sigma\oldsigma

Now \verb|\sigma| is back to its normal appearance $\sigma$.

\end{document}
3 голосов
/ 01 мая 2011

Чтобы узнать, как \sigma или любая другая команда изначально определена, вы можете использовать \show\sigma. (Ответ заключается в том, что \sigma определяется как \mathchar"11B.) Вы можете ввести это либо в самом документе - компиляция приостановится, и вы можете ввести Enter после прочтения ответа - либо вы можете ввести это в интерактивном режиме TeX / LaTeX .

Пример с документом:

\documentclass{article}
\begin{document}
What is $\sigma$?          % Prints "What is σ" in the DVI/PS/PDF.
\show\sigma                % Prints "> \sigma=\mathchar"11B." in the compilation.
Now that we know, let us redefine it.
\renewcommand{\sigma}{1}
Now it is: $\sigma$.       % Prints "Now it is: 1." in the DVI/PS/PDF.
OK, let's go back.
\renewcommand{\sigma}{\mathchar"11B}
We again have: $\sigma$.   %Prints "We again have: σ." in the DVI/PS/PDF.
\end{document}

Или в командной строке введите latex, затем введите \relax, введите \show\sigma, прочитайте, что он говорит, затем введите x для выхода.

...