Zastanawiam się, czy są jakieś darmowe rozwiązania do pisania formuł matematycznych w sposób LaTeX w dokumencie Microsoft Word (Office 2007)?
Zastanawiam się, czy są jakieś darmowe rozwiązania do pisania formuł matematycznych w sposób LaTeX w dokumencie Microsoft Word (Office 2007)?
Odpowiedzi:
Jeśli korzystasz z Office 365 w wersji 1707 lub nowszej, Edytor równań umożliwia konwersję LaTex na format macierzysty. Zobacz pierwszą część tej odpowiedzi.
W starszych wersjach pakietu Office edytor równań może zrozumieć niektóre składniki LaTeX. Jednak buduje to równanie z biegiem czasu i nie można przekonwertować całego równania LaTeX. Zobacz drugą część tej odpowiedzi, jeśli korzystasz z:
Przełącz edytor równań w tryb LaTeX. Na wstążce Projekt edytora równań przejdź do grupy Konwersje i kliknij LaTeX .
Wpisz LaTeX.
Otwórz menu Konwertuj i kliknij Bieżące - profesjonalne .
LaTeX zostanie przetworzony do natywnego formatu Edytora równań.
Możesz także przekonwertować z powrotem na LaTeX, aby edytować równanie.
Musisz użyć menu rozwijanego, ponieważ przycisk Konwertuj nie przełącza się automatycznie między liniowym a profesjonalnym. Zachowuje ostatnio używane polecenie.
Istnieją pewne ograniczenia. Na przykład Edytor równań Office 365 nie rozumie poleceń \ start i \ end . Przykłady i możliwe obejścia można znaleźć w dokumentacji Microsoft:
Bardzo niewiele osób zdaje sobie sprawę, że wbudowany edytor równań w programie Word 2007 tak naprawdę rozumie zapis równań w stylu LaTeX. Po prostu wstaw nowe równanie, a następnie wpisz w nim LaTeX. Podczas pisania program Word tworzy graficzną reprezentację równania.
Gdy pojawi się w GUI, nie możesz już edytować go jako LaTeX. Program Word nie ma wbudowanego procesora TeX - po prostu dopasowuje wzorce, aby przekonwertować prostą składnię LaTeX na natywny format równań. Dlatego nie należy oczekiwać doskonałej wierności super-złożonych równań LaTeX. Jednak wystarcza to prawdopodobnie każdemu, kto nie jest matematykiem, i jest o wiele szybszy niż klikanie elementów myszką.
Edytor równań Word 2007 ma również format wprowadzania równań liniowych, który jest dość intuicyjny i nie wymaga znajomości LaTeX. Na przykład wpisanie (a+b)/(c+d)
spowoduje ułamek dobrze sformatowany.
Uwagi:
Wiele czasopism naukowych nie akceptuje dokumentów Word w nowym formacie równań - nawet jeśli zapisujesz jako .doc zamiast .docx.
To nie zmienia Worda w LaTeX. Robi to same równania i nic więcej. Nie dostajesz nawet numeracji równań.
Napisz formuły matematyczne w LaTeX → Przekształć formuły LaTeX w Kod MathML → Skopiuj / Wklej kod MathML w programie Word (po kliknięciu wklej, CTRLa następnie T). Voila!
Weźmy na przykład tę formułę:
To jest kod źródłowy LaTeX z powyższej formuły:
0 \leq \lim_{n\to \infty}\frac{n!}{(2n)!} \leq \lim_{n\to \infty} \frac{n!}{(n!)^2} = \lim_{k \to \infty, k = n!}\frac{k}{k^2} = \lim_{k \to \infty}\frac{1}{k} = 0.
Teraz otwórz Edytor i umieść powyższy kod źródłowy między znakami $$ $$ w następujący sposób:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<title>tex texample</title>
</head>
<body>
$$ 0 \leq \lim_{n\to \infty}\frac{n!}{(2n)!} \leq \lim_{n\to \infty} \frac{n!}{(n!)^2} = \lim_{k \to \infty, k = n!}\frac{k}{k^2} = \lim_{k \to \infty}\frac{1}{k} = 0.$$
</body>
</html>
Zapisz plik jako plik .html i otwórz go w przeglądarce takiej jak Chrome.
Kliknij formułę prawym przyciskiem myszy i wybierz opcję Pokaż MathML jako → Kod MathML.
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mn>0</mn>
<mo>≤<!-- ≤ --></mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munder>
<mfrac>
<mrow>
<mi>n</mi>
<mo>!</mo>
</mrow>
<mrow>
<mo stretchy="false">(</mo>
<mn>2</mn>
<mi>n</mi>
<mo stretchy="false">)</mo>
<mo>!</mo>
</mrow>
</mfrac>
<mo>≤<!-- ≤ --></mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munder>
<mfrac>
<mrow>
<mi>n</mi>
<mo>!</mo>
</mrow>
<mrow>
<mo stretchy="false">(</mo>
<mi>n</mi>
<mo>!</mo>
<msup>
<mo stretchy="false">)</mo>
<mn>2</mn>
</msup>
</mrow>
</mfrac>
<mo>=</mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
<mo>,</mo>
<mi>k</mi>
<mo>=</mo>
<mi>n</mi>
<mo>!</mo>
</mrow>
</munder>
<mfrac>
<mi>k</mi>
<msup>
<mi>k</mi>
<mn>2</mn>
</msup>
</mfrac>
<mo>=</mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munder>
<mfrac>
<mn>1</mn>
<mi>k</mi>
</mfrac>
<mo>=</mo>
<mn>0.</mn>
</math>
Teraz skopiuj / wklej kod MathML w programie Word 2013 (lub 2007) i kliknij kolejno, CTRLa następnie T( Opcje wklejania: zachowaj tylko tekst ) lub przejdź do małego obrazu Ctrl na końcu wklejonego kodu MathML i wybierz opcję ręcznie.
d \left((a+b)+\frac{1}{c}\right)
). Czy to ograniczenie MathML?
Stworzyłem LatexToWordEquation na podstawie odpowiedzi.
To jest dodatek do programu Word.
Kod źródłowy, który przesłałem do Github. Link tutaj
Jeśli wolisz, możesz pobrać instalator bezpośrednio stąd .
Uwaga: jest to aktywny link do pobrania, który natychmiast pobierze plik po kliknięciu.
Jak to zrobić
Wolę TeXsword od Latex in Word ( pobieranie TeXsword ). Posiada wszystkie funkcje lateksu w programie Word, a także zapewnia obsługę odniesień do równań. I nie wymaga połączenia z Internetem, co uważam za cechę, a nie ograniczenie: MikeTeX nie jest wcale taki duży, a lokalny LaTeX umożliwia pisanie dokumentu podczas podróży.
Możesz używać lateksu w programie Word .
Zapewnia makra dla Microsoft Word, które pozwalają na wykorzystanie danych wejściowych LaTeX do tworzenia obrazów równań zarówno w trybie wstawiania, jak i wyświetlania, bez konieczności instalowania jakiegokolwiek oprogramowania na komputerze lokalnym. O ile mi wiadomo, jest to jedyna darmowa alternatywa dla płatnych programów, takich jak Aurora i TexPoint .
W przypadku pakietu Office 2007 przejdź do strony Latex in Word Project na Source Forge i kliknij Word 2007 w obszarze Pliki .
LaTeX in Word to narzędzie na licencji GPL, które umożliwia stosowanie równań w dokumentach Microsoft Word. Po stronie klienta program jest zaimplementowany jako makra VBA w dokumencie „LaTeXinWord_v_0_3_1.docm” wraz z instrukcjami. Dlatego plik ten zawiera kod źródłowy, implementację i dokumentację.
Odpowiedź Devida jest doskonała, ale miałem trudności z konkretnymi instrukcjami. Oto, co dla mnie zadziałało. Wykonaj kroki Devida poprzez skopiowanie kodu MathML.
Następnie wstaw puste równanie. W programie Word 2013 przejdź do widoku Układ wydruku (karta Widok na wstążce). Na karcie Wstaw wybierz opcję Równanie. Zobaczysz Type equation here
wybrane.
Na karcie Narzędzia główne wybierz menu Wklej, a następnie Wklej specjalnie (lub po prostu naciśnij CTRLALTV). Wybierz Unformatted Unicode Text.
Równanie powinno następnie zostać wypełnione głównie poprawnie, jak na ostatnim zdjęciu Devida.
Jeszcze jedno - na zdjęciu polecenia „lim” są pochylone, a nie w oryginale. Aby to naprawić, dla każdego „lim” umieść kursor tuż za „m” i naciśnij, Spaceaby Word sprawił, że „lim” porówna się z tabelą funkcji i dostosuje formatowanie. (Następnie usuń utworzone dodatkowe miejsce).
Napisałem narzędzia do generowania MathML, poprawiłem kod Devid i dodałem kilka funkcji do łatwej edycji. Oto kod:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<title>tex texample</title>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script>
function SelectText(element) {
var doc = document
, text = doc.getElementById(element)
, range, selection
;
if (doc.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
}
}
$(document).ready(function(){
$("#latexContent").val("$$ $$");
$('#latexContent').bind('input propertychange', function() {
$("#myoutput").text($("#latexContent").val());
// MathJax.Hub.Queue(["TypeseTextt",MathJax.Hub,"myoutput"]);
MathJax.Hub.Typeset("myoutput")
});
$("#btnShowMathML").click(function(){
var con = $(".MJX_Assistive_MathML").html();
$("#myMathml").text(con);
SelectText("myMathml");
});
$("#btnClear").click(function(){
$("#latexContent").val("$$ $$");
$("#myoutput").html("<p style='color: grey; font-style: italic;'> The LaTeX will display here ! </p>");
$("#myMathml").text("");
});
});
</script>
</head>
<body>
<center>
<p> Enter LaTeX here! </p>
<textarea id="latexContent" rows="5" cols="100"> </textarea>
<button id="btnClear" type="button">clear</button>
<button id="btnShowMathML" type="button">Show The MathML</button> </br></br>
<span id="myoutput">
<p style="color: grey; font-style: italic;"> The LaTeX will display here ! </p>
</span> </br>
<span id="myMathml"> </span>
</center>
</body>
</html>
Podczas kopiowania MathML do Worda, upewnij się, że skopiujesz czysty tekst, używając klawiszy Ctrl + Alt + V (lub najpierw skopiuj go do notatnika, a następnie skopiuj do słowa).
Domyślny serwer LaTeX w programie Word wydaje się już nie działać. Jeśli jesteś zmuszony używać Worda (na przykład, aby współpracować z mniej zorientowanymi technicznie) użyłbym TeXsword, jak sugerował już Adam. Musisz zainstalować samodzielną dystrybucję MikTex , ale obecnie jest to łatwa instalacja. Działa z moim programem Word 2016. Nadal nie wygląda tak dobrze jak prawdziwy dokument LaTeX, ale jest łatwiejszy w użyciu i bardziej plastyczny niż edytor równań w programie Word.
Powyższa odpowiedź jest prawidłowa, ale jest też wbudowany skrót, który jest matematyczny. Jest bardzo podobny do LaTeXa. Domyślnie jest nieaktywny, ale możesz go aktywować i jest naprawdę pomocny, jeśli chcesz pisać duże równania. Na przykład, jeśli chcesz wpisać H 2, to po prostu musisz wpisać H_2 itp. I dostępnych jest wiele innych opcji, takich jak znak górny po znaku daszka (^), który zostanie przekonwertowany jako indeks górny. Wiele takich skrótów jest omawianych w tym filmie lub możesz po prostu wyszukać Jak wstawić równanie matematyczne (jak LaTeX) w Ms Office: Wskazówki i porady na youtube.
Ta metoda będzie szczególnie pomocna, jeśli potrafisz szybko pisać. Ponadto pozwoli zaoszczędzić czas, który stracisz podczas przełączania między klawiaturą i myszą i wyszukiwania odpowiedniej opcji w słowie.