Как я могу использовать \renewcommand, чтобы НАЗАД мои греческие буквы?
Я новичок в LaTeX, но я делаю домашнее задание, и теперь у меня есть вопрос, на который я не могу найти ответ. Я создаю определение уравнения, скажем так:
The potential is characterized by a length $\sigma$ and an energy $\epsilon$.
В действительности это уравнение является более сложным, поэтому я хотел попробовать ярлык. Если бы мое уравнение было таким упрощенным, я бы не попробовал свою технику замещения. Я использую команду \renewcom, чтобы сэкономить мне время:
\renewcommand{\sigma}{1}
И это работает невероятно и заменит все экземпляры сигмы на 1. К сожалению, так как \sigma имеет глобальную область действия, мне нужно сбросить ее. Я пробовал пару разных способов:
Попытка 1: -блокировка из-за циклической ссылки?
\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 ответа
Чтобы узнать, как \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
выходить.
Я должен признать, что я не понимаю, почему вы хотите делать то, что вы просите, но это должно сработать:
\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}