2009-11-20 2 views
3

Я использую LaTeX через некоторое время, но на самом деле никогда не получал грязных рук, объявляя новую команду, поскольку я стараюсь избегать этого.Как создать новую команду LaTeX, которая ведет себя как verb?

Однако мне нужно добавить моноширинный текст часто в моем документе, и я использую для него \verb, что отлично, за исключением того, что размер шрифта глагола больше обычного шрифта текста. Поэтому мне нужно изменить размер шрифта и отменить его, как \small{}\verb#My monospace code#\normalsize{}. Это не очень удобно и подвержено ошибкам.

Есть ли лучший способ сделать это? Могу ли я определить для этого новую команду? Как?

ответ

1

Определение новых команд, которые действуют как команды verbatim, на самом деле довольно сложно. Пакет LaTeX verbatim содержит некоторые материалы, которые помогут.

Если вы используете пакет times, шрифт Computer Modern verbatim не подходит для шрифтов PostScript times. Для более подходящего дословной (пишущей машинки) шрифта попробовать

\renewcommand{\ttdefault}{aett} 
+0

txtt также подходит для Times (и других). –

0

Позвольте мне привести несколько примеров новой команды:

\newcommand{\zope}{Zope} 

Теперь везде, где я даю \zope в моем Latex тексте, его заменить текстом, указанным выше. Это, если мне нужно сделать глобальное изменение, я могу это сделать.

\newcommand{\bi}{\begin{itemize}} 
\newcommand{\ei}{\end{itemize}} 

С помощью этих двух команд выше, теперь я могу писать свои списки как:

\bi 
\item 1st item 
\item 2nd item 
\item and so on... 
\ei 

Это показывает, как некоторые команды могут быть сокращены с помощью newcommand.

Теперь рассмотрим новую команду с параметром.

\newcommand{\filepath}[1]{\verb!#1!} 

Чтобы использовать эту команду, я хотел бы написать что-то вроде \filepath{abc.xml}, который будет заменен \verb!abc.xml! на обработку команды.

Другой пример:

\newcommand{\ida}[1]{\textcolor{blue}{#1}} 

С помощью этого \ida{myVariable} заменяется \textcolor{blue}{myVariable}

Я надеюсь, что этот небольшой учебник поможет служить этой цели.

+0

Ницца примеры, но, критически, с \ verb не работает. –

+1

Позвольте мне исправить это, сказав, что это не сработает, чтобы избежать специальных символов на входе, например, как \ verb. –

3

Почему бы не написать команду \texttt{}, чтобы получить моноширинный текст?

Я не знаю, почему команда \verb дает вам текст, который больше, чем обычно (для меня, \verb точно такой же размер, как обычный текст, а \texttt{} а). Тем не менее, если вы действительно хотите, чтобы сделать новую команду, чтобы вы меньше моноширинный текст, вы можете попробовать определения команды в вашем заголовке следующим образом:

\newcommand{\smalltt}[1]{{\small\texttt{#1}}}

Если [1] указывает, что команда принимает один аргумент (текст сделать небольшой и моноширинный.) Тогда, конечно, вы будете использовать его как \smalltt{my smaller monospaced text.}.

1

Как говорит Ной, размер не должен отличаться от \verb текста и нормального выхода. Было бы неплохо, чтобы опубликовать небольшой, полный пример формы:

 
\documentclass{article} 
\begin{document} 
Text and \verb|verbatim % text|. 
\end{document} 

Если вы хотите, чтобы забрать текст обрабатывать дословно с форматированием, вещи немного осложняется необходимостью смотреть catcodes.Я бы посмотрел на пакеты fancyvrb или списки для этого.

1

Поместите следующую строку в файл .sty включен документ: \ renewcommand {\ дословной @ шрифт} {\ ttfamily \} маленький

Смежные вопросы